0

PayPal 给我发邮件说他们几天后将不再支持 HTTP1.0。

所以我改变了我的旧 PHP 代码:

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

他们推荐的:

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

现在 notify.php 不再起作用了:(

有任何想法吗?

谢谢!

4

1 回答 1

1

发现这个:

PayPal 最近宣布,他们将“从 2013 年 2 月 1 日起停止对 HTTP 1.0 协议的支持”。今天我在实施这些更改时遇到了一些问题。事实证明,VERIFIED 响应代码现在后面跟着一个 \r\n。因此,前面的 if (strcmp($res, "VERIFIED") == 0) { 代码不再单独工作。我可以通过使用 $res = trim($res); 修剪掉 \r\n 来解决这个问题。

http://www.johnboy.com/blog/http-11-paypal-ipn-example-php-code

于 2013-09-11T11:28:40.907 回答