【发布时间】:2012-02-19 13:57:19
【问题描述】:
我正在尝试在家中通过 cURL 访问我的信用卡清算公司。 由于某种原因,我无法执行命令。
(我确实从我的 php.ini 中的 extension=php_curl.dll 中删除了该注释并重新启动服务器)
$url = 'https://secure.cc-company-address.com/clearingPage.aspx';
$fields = array(
'codepage'=>'65001',
'terminalnumber'=>'0',
'UserName'=>'leaping',
'SumToBill'=>'1.9',
'Operation'=>'2'
);
//url-ify the data for the POST
$fields_string='';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
$fields_string=substr($fields_string,0,strlen($fields_string)-1);
$curl = curl_init();
if(!$curl)
echo "curl not inititalized.";
curl_setopt ($curl, CURLOPT_URL, $url.'?'.$fields_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
if($result)
echo " curl executed. ";
else
echo " curl failed. ";
curl_close ($curl);
【问题讨论】:
-
你应该打开你的电脑。不,但说真的,如果没有任何错误消息,它可能是任何东西,您必须向我们提供更多信息。
-
我刚刚发现 curl_error... 它说:SSL 证书问题,验证 CA 证书是否正常。详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 curl 失败。
-
找到了一个快速而肮脏的解决方案: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);这将接受所有受 SSL 保护的网站
-
甚至更好:第二个选项:unitstep.net/blog/2009/05/05/…