0

我正在通过 Django 的视图在http://pubsubhubbub.appspot.com上致电 google 的 pubsubhubbub 发布者。我想使用它来获取所有 youtube 上传提要。我正在使用 urllib2.Request 向其发送“发布”请求,但出现 409 冲突错误。我已经正确设置了回调 url,如果我尝试使用以下命令发布相同的请求:python manage shell它工作得很好。我使用 nginx 服务器作为生产服务器上 gunicorn 实例的代理。什么可能是错的。提前致谢。

>>> response.request
<PreparedRequest [POST]>
>>> response.request.headers
{'Content-Length': u'303', 'Content-Type': 'application/x-www-form-urlencoded', 'Accept-Encoding': 'gzip, deflate, compress', 'Accept': '*/*', 'User-Agent': 'python-requests/1.2.0 CPython/2.6.6 Linux/2.6.18-308.8.2.el5.028stab101.3'}
>>> response.request.body
'hub.verify=sync&hub.topic=http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fapi%2Fusers%2FUCVcFOpBmJqkQ4v6Bh6l1UuQ%2Fuploads%3Fv%3D2&hub.lease_seconds=2592000&hub.callback=http%3A%2F%2Fhypedsound.cloudshuffle.com%2Fhub%2F19%2F&hub.mode=subscribe&hub.verify_token=subscribe7367add7b116969a44e0489ad9da45ca8aea4605'

请求正文,生成的两个请求的标头相同。

这是 nginx 配置文件: http ://dpaste.org/bOwHO/

4

1 回答 1

0

事实证明,我使用的是 TransactionMiddleware,它在调用 model.save() 时不提交给 db,这导致了问题。

于 2013-04-29T16:52:03.600 回答