PHP Curl Post与PayPal';s的新标题要求
我正在使用Paypal为Paypal Payments Pro或Direct Pay提供的PHP示例代码。在贝宝最近的一封电子邮件中,他们说 从2013年10月7日开始,我们将要求所有传入请求都具有符合HTTP 1.1规范的“主机”头。HTTP 1.0下不需要此标头。使用HTTP 1.0的IPN和PDT脚本可能在2013年10月7日之后开始失败,并出现“HTTP/1.0 400错误请求”错误,这将导致IPN消息未成功验证,或PDT脚本无法检索事务信息 他们给了我以下代码作为标题:PHP Curl Post与PayPal';s的新标题要求,php,curl,paypal,Php,Curl,Paypal,我正在使用Paypal为Paypal Payments Pro或Direct Pay提供的PHP示例代码。在贝宝最近的一封电子邮件中,他们说 从2013年10月7日开始,我们将要求所有传入请求都具有符合HTTP 1.1规范的“主机”头。HTTP 1.0下不需要此标头。使用HTTP 1.0的IPN和PDT脚本可能在2013年10月7日之后开始失败,并出现“HTTP/1.0 400错误请求”错误,这将导致IPN消息未成功验证,或PDT脚本无法检索事务信息 他们给了我以下代码作为标题: $header
$header="POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .="Content-Type: application/x-www-form-urlencoded\r\n";
$header .="Host: www.paypal.com\r\n";
$header .="Connection: close\r\n\r\n";
但是使用CURL,我怎么能通过所有这些呢
我知道我可以在一个数组中设置大部分,并将其放在CURLOPT_标题下,但是第一行呢
这是我的密码。请帮助我了解如何正确添加新的标头请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_URL, $api_endpoint);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);
$result = curl_exec($curl);
curl_close($curl);
当前,标题存储在字符串中。要使用
cURL
发送自定义标题,您可以使用以下选项:
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"POST /cgi-bin/webscr HTTP/1.1\r\n",
"Content-Type: application/x-www-form-urlencoded\r\n",
"Host: www.paypal.com\r\n",
"Connection: close\r\n\r\n"
)
);
谢谢我不太清楚这封信的内容,因为它不是一对钥匙的组合。@swg1cor14:太好了。很高兴我能帮忙!:)