CURL:控制台和PHP中的结果不同 [英] CURL: Result on console and in PHP are different
问题描述
我有一些问题卷曲。在控制台上我得到了正确的
响应消息但在PHP中我发现有效和无效的
无效SSL证书之间没有区别。
PHP中的卷曲命令:
$ url =''https://verisign.com'';
$ ch = curl_init();
curl_setopt($ ch,CURLOPT_TIMEOUT,10);
curl_setopt($ ch,CURLE_OPERATION_TIMEOUTED,10);
curl_setopt( $ ch,CURLOPT_URL,$ url);
curl_setopt($ ch,CURLOPT_RETURNTRANSFER,0);
$ result = curl_exec($ ch);
$ info = curl_getinfo($ ch);
curl_close($ ch);
print_r($ info);
控制台上的卷曲命令:
curl -I https ://verisign.com
错误的SSL证书:
curl -I https://verisign.com
curl:(51)SSL:证书使用者名称''www.verisign.com''没有
匹配目标主机名''verisign.com''
数组
(
[url] = https://verisign.com
[http_code] = 0
[header_size] = 0
[request_size] = 0
[filetime] = -1
[ssl_verify_result] = 0
[redirect_count] = 0
[total_time] = 0
[namelookup_time] = 0
[connect_time] = 0
[pretransfer_time] = 0
[size_upload] = 0
[size_download] = 0
[speed_download] = 0
[ speed_upload] = 0
[download_content_length] = 0
[upload_content_length] = 0
[starttransfer_time] = 0
[redirect_time] = 0
)
正确的SSL证书:
curl -I https:// www.verisign.com
HTTP / 1.1 200 OK
服务器:Netscape-Enterprise / 4.1
日期:2007年10月31日星期三09: 56:59 GMT
Set-Cookie:v1st = 4728516C0AACA713;路径= /;到期= 2020年2月19日星期三
14:28:00 GMT; domain = .verisign.com
内容类型:text / html
数组
(
[url] = https://www.verisign.com
[http_code] = 0
[header_size] = 0
[request_size] = 0
[filetime] = -1
[ssl_verify_result] = 0
[redirect_count] = 0
[total_time] = 0
[namelookup_time] = 0
[connect_time] = 0
[pretransfer_time] = 0
[ size_upload] = 0
[size_download] = 0
[speed_download] = 0
[speed_upload] = 0
[download_content_length] = 0
[upload_content_length] = 0
[starttransfer_time] = 0
[redirect_time] = 0
)
I have some problems with the curl. On the console I get the right
response message but in PHP I see no difference between a valid and an
invalid SSL Certificate.
Curl command in PHP:
$url = '' https://verisign.com'';
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLE_OPERATION_TIMEOUTED, 10);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
$result = curl_exec ($ch);
$info = curl_getinfo($ch);
curl_close ($ch);
print_r($info);
Curl command on console:
curl -I https://verisign.com
Wrong SSL Certificate:
curl -I https://verisign.com
curl: (51) SSL: certificate subject name ''www.verisign.com'' does not
match target host name ''verisign.com''
Array
(
[url] = https://verisign.com
[http_code] =0
[header_size] =0
[request_size] =0
[filetime] =-1
[ssl_verify_result] =0
[redirect_count] =0
[total_time] =0
[namelookup_time] =0
[connect_time] =0
[pretransfer_time] =0
[size_upload] =0
[size_download] =0
[speed_download] =0
[speed_upload] =0
[download_content_length] =0
[upload_content_length] =0
[starttransfer_time] =0
[redirect_time] =0
)
Correct SSL Certificate:
curl -I https://www.verisign.com
HTTP/1.1 200 OK
Server: Netscape-Enterprise/4.1
Date: Wed, 31 Oct 2007 09:56:59 GMT
Set-Cookie: v1st=4728516C0AACA713; path=/; expires=Wed, 19 Feb 2020
14:28:00 GMT; domain=.verisign.com
Content-type: text/html
Array
(
[url] = https://www.verisign.com
[http_code] =0
[header_size] =0
[request_size] =0
[filetime] =-1
[ssl_verify_result] =0
[redirect_count] =0
[total_time] =0
[namelookup_time] =0
[connect_time] =0
[pretransfer_time] =0
[size_upload] =0
[size_download] =0
[speed_download] =0
[speed_upload] =0
[download_content_length] =0
[upload_content_length] =0
[starttransfer_time] =0
[redirect_time] =0
)
推荐答案
url =''https://verisign.com'';
>
url = '' https://verisign.com'';
ch = curl_init();
curl_setopt(
ch = curl_init();
curl_setopt(
ch,CURLOPT_TIMEOUT,10);
curl_setopt(
ch, CURLOPT_TIMEOUT, 10);
curl_setopt(
这篇关于CURL:控制台和PHP中的结果不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!