Python 是否接受来自外部域的POST请求?(谷歌应用引擎)
我似乎无法让我的应用程序接受来自不同域的POST请求。我正在尝试在我的应用程序中创建一个PayPal IPN处理程序 当用户单击我页面上的“订阅”按钮时,PayPal会向我的IPN处理程序发送一个IPN(POST) 我可以在AppEngine日志中看到收到POST请求,但它是空的(例如,没有参数,日志中没有显示我的logging.debug消息,等等) 因此,我通过在我的应用程序中发布帖子来测试我的处理程序,并且处理程序按照预期工作 我假设不接受来自外部的帖子是一种安全特性?如果是这样,我如何让我的应用程序接受贝宝的帖子 下面是我的处理程序目前的样子(只是为了测试): 提前谢谢Python 是否接受来自外部域的POST请求?(谷歌应用引擎),python,google-app-engine,tornado,paypal-ipn,paypal-subscriptions,Python,Google App Engine,Tornado,Paypal Ipn,Paypal Subscriptions,我似乎无法让我的应用程序接受来自不同域的POST请求。我正在尝试在我的应用程序中创建一个PayPal IPN处理程序 当用户单击我页面上的“订阅”按钮时,PayPal会向我的IPN处理程序发送一个IPN(POST) 我可以在AppEngine日志中看到收到POST请求,但它是空的(例如,没有参数,日志中没有显示我的logging.debug消息,等等) 因此,我通过在我的应用程序中发布帖子来测试我的处理程序,并且处理程序按照预期工作 我假设不接受来自外部的帖子是一种安全特性?如果是这样,我如何让
另外,我用PayPal'S发送IPN只是一种预感,我可能不适合这里,但对于tornado,我似乎无法在 至少对于webapp,我相信
参数
是一种实例方法:
logging.info(self.request.arguments())
查看文档。只是一种预感,我可能不适合这里,但对于tornado,我似乎无法在 至少对于webapp,我相信
参数
是一种实例方法:
logging.info(self.request.arguments())
查看文档。这里有一些预感
另外,关于您如何从Paypal端执行测试的更多信息,显示代码的其他相关部分,以及任何其他相关信息可能会有所帮助。:) 我发现了我的错误。我将处理程序的url与其他url放在一起,这些url在
app.yaml
中具有login:required
我已经解决了这个问题,现在贝宝的IPN已经通过了
谢谢大家 我发现了我的错误。我将处理程序的url与其他url放在一起,这些url在
app.yaml
中具有login:required
我已经解决了这个问题,现在贝宝的IPN已经通过了
谢谢大家 据我所知,没有任何安全问题可以阻止这一点。你确定来自PayPal的请求确实包含你想要的数据吗?不,没有“安全功能”。什么是ajax?处理程序返回什么状态代码?您确定使用了正确的URL并且正在调用您的处理程序吗?你能给我们展示一个展示这个问题的简单演示应用程序,以及一个演示它的命令行(curl/wget)吗?你如何确保帖子来自PayPal。另外,您能告诉我您正在尝试哪种与PayPay的集成模式吗?@NickJohnson is_ajax只是一个检查请求头是否包含“XMLHttpRequest”的函数。我想我的处理程序被调用了,因为我得到了这个
2012-04-27 11:13:50.294/ipn 302 23ms 0kb 173.0.82.126---[26/Apr/2012:20:13:50-0700]“POST/ipn HTTP/1.1”3020---“myapp.appspot.com”ms=23 cpu\u ms=0 api\u cpu\u ms=0 cpm\u usd=0.000108
在发送IPN时在我的日志中。@KarthikAnanth我正在使用这些方法。据我所知,没有任何安全问题会阻止这一点。你确定来自PayPal的请求确实包含你想要的数据吗?不,没有“安全功能”。什么是ajax?处理程序返回什么状态代码?您确定使用了正确的URL并且正在调用您的处理程序吗?你能给我们展示一个展示这个问题的简单演示应用程序,以及一个演示它的命令行(curl/wget)吗?你如何确保帖子来自PayPal。另外,您能告诉我您正在尝试哪种与PayPay的集成模式吗?@NickJohnson is_ajax只是一个检查请求头是否包含“XMLHttpRequest”的函数。我想我的处理程序被调用了,因为我在我的日志中得到了这个2012-04-27 11:13:50.294/ipn 302 23ms 0kb 173.0.82.126---[26/Apr/2012:20:13:50-0700]“POST/ipn HTTP/1.1”3020---“myapp.appspot.com”ms=23 cpu_ms=0 api_cpu_ms=0 cpm_usd=0.000108
。@KarthikAnanth我正在使用这些方法。我在GAE上使用Tornado,其中,参数
是一个命令。请原谅错误指示。我只是浏览了一下我的代码(基于webapp),它完全实现了您想要做的事情,我得到了我的所有参数(使用IPN模拟器…)。所以在回答你的问题时,这是否是一个安全问题;这是一个明确的否定。我在GAE上使用Tornado,其中,参数
是一个命令。请原谅我的误导。我只是浏览了一下我的代码(基于webapp),它完全实现了您想要做的事情,我得到了我的所有参数(使用IPN模拟器…)。所以在回答你的问题时,这是否是一个安全问题;这是一个明确的否定。我正在使用贝宝的模拟发送IPN。(您需要在注册一个虚拟帐户)。进入工具后,输入http://wmp-ipn-handler-test.appspot.com/ipn
在IPN处理程序URL中单击“发送”。若要测试/ipn
是否正常工作,请转到那里,那里会有一个表单,该表单也会发布到/ipn。您的应用订阅链接会为我提供