2012-10-19 88 views
2

我使用Paypal沙箱測試我的PHP腳本,該腳本與www.paypal.com一起使用,但不是www.sandbox.paypal.com。我最近從PayPal收到一封電子郵件,要求使用HTTP 1.1協議而不是1.0,所以我已經這樣做了,而且我在指定的頭部使用了Connection: close,但是IPN URL掛起。當我用www.paypal.com嘗試時,沒有掛。PayPal沙箱IPN沒有響應了

貝寶做specificy這在他們的第二個電子郵件

這是一個後續,我們在9月6日發出的公告,2012年它 已經到了我們的注意,一些商人也遇到了問題 越來越他們的IPN腳本更新爲使用HTTP 1.1,因爲腳本 會「掛起」或需要很長時間才能獲得「VERIFIED」響應。我們 包含有關如何通過在HTTP請求中添加 「Connection:close」標頭來解決此問題的說明。

但很明顯,這是行不通的。

$header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; 
$header .= "Host: $url\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; 
$header .= "Connection: close\r\n"; 

任何想法?非常感謝。

回答

1

你必須在2到最後一行\ r \ n \ r \ n,它需要去的最後一行...

$header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; 
$header .= "Host: $url\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Content-Length: " . strlen($req) . "\r\n"; 
$header .= "Host: www.paypal.com\r\n"; 
$header .= "Connection: close\r\n\r\n"; 

您還需要主機線。