2017-02-07 40 views
1

このようなことが可能かどうかはわかりませんが、POSTリクエストを使用してhttps://lambdaschool.com/contactなどのフォームに送信しようとしています。POSTリクエスト(リクエストとpython3)を使用して連絡フォームを送信

私は現在、次のようにあります

import requests 

payload = {"name":"MyName","lastname":"MyLast","email":"[email protected]","message":"My message"} 

r = requests.post('http://lambdaschool.com/contact',params=payload) 

print(r.text) 

しかし、私は次のエラーを取得する:

<title>405 Method Not Allowed</title> 

など

は、POSTリクエストを使用して提出することができ、そのようなものですか?

答えて

2

これが単純だった場合は、ログインフォームごとに多くのボットが攻撃されています。

このURLは明らかにPOSTリクエストを受け入れません。これは、送信ボタンがそのページにPOSTしていることを意味するものではありません(ボタンをクリックすると同じエラーが表示されます...)

クロム/ Firefoxの開発ツールを開いて、フォームの送信時に発生し、そのデータをPythonで複製します。

別のオプションは、ブラウザをシミュレートし、

+0

(これは私のURLだと分かります)。私は開発ツールのデータを見ていて、ペイロードをコピーしました。他に何をコピーすればいいですか?私は私が何を見ているのか完全にはわからない。ヘッダーは? – austenallred

+0

さて、POSTリクエストを受け入れないようにプログラムしました –

+0

私は参照してください。私はPOSTリクエストを許可する方法を調べます。 – austenallred

1

paramsがクエリパラメータのあるフォームに記入してmechanizeまたはセレンwebdriverをライブラリになります。フォームエンコードされたボディの場合はdata、JSONボディの場合はjsonが必要です。

+0

それは405を修正しません –

関連する問題