0

私は自分のPCでPythonアプリケーションを実行しており、その結果を自分のWebサイトで使用するためにappengineデータストアに保存しています。

ローカルコードは次のとおりです。

def invia(utente, numero, tweet, link1, risorsa):
        params = urllib.urlencode({'utente': utente, 'numero': numero, 'tweet': tweet, 'link1': link1, 'risorsa': risorsa})
        headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
        conn = httplib.HTTPConnection("myapp.appspot.com")
        conn.request("POST", "", params, headers)
        response = conn.getresponse()
        print response.status, response.reason

正常に機能していましたが、新しい条件に同意しましたが、アプリが機能しなくなり、405エラーが発生します。どうすればこれを解決できますか?それは本当に新しい用語にリンクされていますか?

2012-12-15 03:29:58.770 / 405 49ms 0kb
000.000.00.000 - - [15/Dec/2012:03:29:58 -0800] "POST / HTTP/1.1" 405 124 - - ".....appspot.com" ms=50 cpu_ms=0 cpm_usd=0.000014 instance=......
4

2 に答える 2

1

最近、新しい条件に同意していません。通常、このエラーは、POSTリクエストを行った結果でありRequestHandler、サーバーに関連付けられたものがpost()メソッドを実装していません。

間違いなく何も変更していない場合は、1秒あたりの呼び出し回数が多い可能性があり、App Engineはレート制限を行っているか、それらを拒否している可能性がありますが、その場合は403と予想されます。1 req /秒を試すか、「User-Agent」ヘッダーを意味のあるものに設定してください。多くのアプリは、識別されていない自動リクエストを好みません。

headers['User-Agent'] = 'your app name'
于 2012-12-15T12:25:38.323 に答える
0

さて、3日間働いた後、私はそれを手に入れました。webapp.WSGIApplication()の入力ミスがあったため、アプリはdef post()がないクラスに「POST」を送信していました。私は夢中になっていた!

Rhuterfordのおかげで、postメソッドの不在が最も論理的な解決策だったので、夜に彼のポストについて考えていました。オッカムの剃刀のルール!

于 2012-12-17T09:46:07.987 に答える