HTTP POST的HTTP POST请求问题

时间:2010-02-27 15:23:14

标签: http cakephp post https

我正在使用CakePHP“HttpSocket”类将信息发布到Paypal支付服务器。当目标网址为http://www.something.com时,我的代码工作正常,我可以按照自己的意愿解析响应。

但是,当我尝试将数据发布到PayPals付款API网址(在HTTPS上)时,我得不到任何回复。

我在其他HTTPS网址上尝试了相同的代码,同样没有响应。

这个问题的原因是什么?

2 个答案:

答案 0 :(得分:1)

我和你有同样的问题...我似乎无法从Paypal API得到任何回复。

但我发现我做错了什么。我实际上只是对https://www.sandbox.paypal.com进行了POST,实际上它应该是https://www.sandbox.paypal.com/cgi-bin/webscr

当我检查CakePHP的$ HttpSocket->响应属性时,我意识到这一点,我发现我已经收到了301错误。然后我意识到 - 它不应该在基本URL上......

然后我重新阅读了IPN指南,并在那里查看了示例代码......瞧!我意识到自己的错误。

希望使用CakePHP的其他人可以从中受益。在我意识到这一点之前花了很长时间。

答案 1 :(得分:1)

我意识到这已经超过2年了,但我最近遇到了这个问题,这就是我如何解决它:

您需要指定端口443以及URL,如下所示:

$httpSocket = new HttpSocket();
$httpSocket->get('https://domain:443/sample/path', array('q' => 'example'));

您也可以在第三个参数中将端口和主机一起传递,或者使用request()方法。

希望这有助于某人!