0

Django のビューを介して、 http: //pubsubhubbub.appspot.com で Google の pubsubhubbub パブリッシャーを呼び出しています。それを使用して、すべての YouTube アップロード フィードを取得したいと考えています。urllib2.Request を使用して「投稿」リクエストを送信すると、409 競合エラーが発生します。コールバック URL を適切に設定しました。次を使用して同じリクエストを投稿しようとすると、python manage shell完全に正常に動作します。本番サーバーで、gunicorn インスタンスへのプロキシとして nginx サーバーを使用しています。何が間違っている可能性があります。前もって感謝します。

>>> 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

model.save() が呼び出されたときに db にコミットしない TransactionMiddleware を使用していたことがわかりました。これが問題を引き起こしていました。

于 2013-04-29T16:52:03.600 に答える