2013-09-23 48 views
0

我使用貝寶PayPal付款Pro或直接支付提供的PHP代碼示例。在貝寶最近的電子郵件,他們的狀態PHP捲曲後與PayPal的新頭要求

從2013年10月7日,我們將要求所有傳入的請求有一個「主機」頭與HTTP 1.1規範。這個頭文件在HTTP 1.0下不是必需的。使用HTTP 1.0的IPN和PDT腳本可能會在2013年10月7日後出現「HTTP/1.0 400錯誤請求」錯誤,從而導致IPN郵件未成功驗證,或者PDT腳本無法檢索事務信息,從而可能會失敗。

他們給我下面的代碼作爲標題使用:

$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_HEADER但關於第一條線下是什麼?

這是我的代碼。請幫我理解如何正確添加新的頭部請求。

$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); 

回答

1

當前標題存儲在一個字符串中。與cURL發送自定義標題,您可以USET curl_setoptCURLOPT_HTTPHEADER如下:

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" 
) 
); 
+0

謝謝!因爲它不是關鍵:對組合,所以我不確定POST行。 – swg1cor14

+0

@ swg1cor14:非常好。很高興我能幫上忙! :) –