Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否接受来自外部域的POST请求?(谷歌应用引擎)_Python_Google App Engine_Tornado_Paypal Ipn_Paypal Subscriptions - Fatal编程技术网

Python 是否接受来自外部域的POST请求?(谷歌应用引擎)

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消息,等等) 因此,我通过在我的应用程序中发布帖子来测试我的处理程序,并且处理程序按照预期工作 我假设不接受来自外部的帖子是一种安全特性?如果是这样,我如何让

我似乎无法让我的应用程序接受来自不同域的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())
查看文档。

这里有一些预感

  • 可能“/ipn”没有路由到IPNHandler。也许是另一个不推荐的处理程序

  • 可能您在日志中查看的应用程序版本与您的版本不同。也许您可以部署新版本的代码并针对新版本进行测试

  • 也许Paypal发送给您的POST请求没有任何参数

  • 另外,关于您如何从Paypal端执行测试的更多信息,显示代码的其他相关部分,以及任何其他相关信息可能会有所帮助。:)

    这里有一些预感

  • 可能“/ipn”没有路由到IPNHandler。也许是另一个不推荐的处理程序

  • 可能您在日志中查看的应用程序版本与您的版本不同。也许您可以部署新版本的代码并针对新版本进行测试

  • 也许Paypal发送给您的POST请求没有任何参数


  • 另外,关于您如何从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。您的应用订阅链接会为我提供