PHP确定客户端URL类型


PHP Determining client URL type


我目前正在编写一个PHP脚本,该脚本接收用户输入的指向用户服务器上文件的URL。我目前做这个非常基本使用cURL库和$url = $_POST['url']作为变量url。然而,在我的研究中,我发现我有一些url类型在使用cURL:

时可能会出现问题
  • URL是SSL或TSL:目前我正在将$urlhttps://匹配以捕获此
  • URL是受用户名/密码保护的:我可以通过匹配:@来捕获这一点

我的问题是,然而,它是可能的,使用PHP来确定如果URL是SSL和/或密码保护,如果提交的URL只是读www.something.com ?在这种情况下,我需要提醒用户需要更多信息,并且他们需要提供.pem文件和/或用户名+密码。
我正在考虑捕获cURL抛出错误,但我不太确定是哪一个。

最好的祝福

如果URL是SSL,那么在curl网站下载证书包(http://curl.haxx.se/ca/cacert.pem)文件并将其保存在服务器上,然后将其包含在PHP curl脚本中,

curl_setopt($ch, CURLOPT_SSLCERT, 'cacert.pem');

用户无需提供.pem文件。cert.pem将处理SSL