我目前正在编写一个PHP脚本,该脚本接收用户输入的指向用户服务器上文件的URL。我目前做这个非常基本使用cURL库和$url = $_POST['url']
作为变量url。然而,在我的研究中,我发现我有一些url类型在使用cURL:
- URL是SSL或TSL:目前我正在将
$url
与https://
匹配以捕获此 - 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