私は、パスワードでポストリクエストを送信するpythonプログラムを書いています。パスワードが正しい場合、サーバーは特別なクッキー "BDCLND"を返します。Pythonのポスト要求と応答のクッキーを読む
私はこれを最初に郵便配達員で行いました。 URL、ヘッダー、使用したパスワード、レスポンスCookieは、以下のスナップショットで確認できます。
パスワード 'SSSS' は間違っていたので、応答クッキーは "BDCLND" クッキーを持っていませんでした。しかし、サーバーは「BAIDUID」クッキーを返送しました。「BAIDUID」クッキーと正しいパスワード「v0vb」を持つ別の投稿リクエストを送信した場合、「BDCLND」クッキーがレスポンスに表示されます。このように:
それから私はこのようなPythonプログラムを書いた:
import requests
import string
import re
import sys
def main():
url = "https://pan.baidu.com/share/verify?surl=pK753kf&t=1508812575130&bdstoken=null&channel=chunlei&clienttype=0&web=1&app_id=250528&logid=MTUwODgxMjU3NTEzMTAuMzM2MTI4Njk5ODczMDUxNw=="
headers = {
"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
"Referer":"https://pan.baidu.com/share/init?surl=pK753kf"
}
password={'pwd': 'v0vb'}
response = requests.post(url=url, data=password, headers=headers)
cookieJar = response.cookies
for cookie in cookieJar:
print(cookie.name)
response = requests.post(url=url, data=password, headers=headers, cookies=cookieJar)
cookieJar = response.cookies
for cookie in cookieJar:
print(cookie.name)
main()
私はこれを実行すると、最初のforloopは、その部分は、しかし、第二に良いですので、「BAIDUID」まで印刷しましたforloopは何も印刷されませんでしたが、それは2番目のcookiejarが空であることが判明しました。私はここで何が間違っているのか分かりません。助けてください。
こんにちは、私は、私は「BAIDUID」第二応答でクッキー、まだありません「BDCLND」クッキーをプリントアウトすることができ、この時間は、あなたのコードを試してみました... – NJUHOBBY
私は実際には第二応答のステータスがあることに気づきました'404が見つかりません'、郵便配達員には200 OKです。なぜ違いがあるのか不思議です。 – NJUHOBBY
あなたはUser-Agentを詐称し、RefererからいくつかのCookieを入手しなければなりません。コードを更新しました。 –