"Web Scraping with Python"の練習例に従って、Requestsライブラリのセッションオブジェクトを使用してログイン資格情報でPOSTリクエストを作成しようとしています。しかし、私は奇妙な問題(たぶんバグ)に遭遇しました。本の著者は、テストのために、簡単なログインWebページを設定していた: http://pythonscraping.com/pages/cookies/login.html ユーザー名は、ログイン・プロセスが別のページにリダイレクトされます、「パスワード」などのパスワードを使用して、何もすることができます: http://pythonscraping.com/pages/cookies/welcome.phpPythonでWebページのログインを行うためのリクエストライブラリの奇妙な結果
import requests
ssn = requests.Session()
param = {'password':'password','username':'letmein'}
r = ssn.post('http://pythonscraping.com/pages/cookies/welcome.php',data=param)
print('Cookies set to :')
print(r.cookies.get_dict())
print('Server response :')
print(r.text)
と上記のコードの出力は次のとおりです:私はそれに対して実行するために使用するPythonコードは以下の通りである
Cookies set to :
{'loggedin': '1', 'username': 'letmein'}
Server response :
<h2>Welcome to the Website!</h2>
Whoops! You logged in wrong. Try again with any username, and the password "password" <br><a href="login.html">Log in here</a>
APPAログインが失敗しました。私が理解できないことはなぜですか?プログラム出力に要求によって設定されたPOST変数が示されていた場合、パスワード変数はありません。私はここで何かを見逃しているのですか、それともリクエストライブラリのバグですか?
P.S. Python 3.6.2とRequests 2.18.4でプログラムを実行しています
ブラウザからログインしようとすると、同じメッセージが表示されます。リクエストライブラリにはバグがないようです。 –
@ LokeshA.R。うーん....それは変だ。私もブラウザで試してみましたが問題なく動作します。 – Hapsburg