CURL:控制台和PHP中的结果不同 [英] CURL: Result on console and in PHP are different

查看:68
本文介绍了CURL:控制台和PHP中的结果不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些问题卷曲。在控制台上我得到了正确的

响应消息但在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆