我已经尝试了一段时间让一个简单的LWP模块工作,但是一直收到来自PayPal::UserAgent的400Bad Request错误。我不确定为什么会发生这种情况。PayPal可以很好地ping我(我正在使用IPN模拟器),我可以在我的应用程序日志中看到这个过程。我可以在没有表单内容的情况下通过LWP::UserAgent调用PayPal验证URL,这很好用,但是一旦我包含了验证的请求内容,我就会得到错误400。如果有人知道这件事,请让我知道。
-$self->{'_req'}的类型为Plack::Request
my $url = $test ? $VERIFY_URL_DEV : $VERIFY_URL;
my $ua = new LWP::UserAgent();
my $req = new HTTP::Request('POST', $url);
my $query = 'cmd=_notify-validate&' . $self->{'_req'}->raw_body;
$req->content_type('application/x-www-form-urlencoded');
$req->content( $query );
my $res = $ua->request($req);
if ($res->is_error)
{
# HTTP error, indicate an invalid notification.
warn "There was an error validating this IPN.";
warn $res->message;
warn $res->error_as_HTML;
return 0;
}发布于 2013-03-15 02:29:33
问题出在PayPal方面。当我在沙箱而不是IPN模拟器中测试时,它工作得很好。这是非常令人沮丧的。
https://stackoverflow.com/questions/15328816
复制相似问题