2017-04-22 5 views
0

私は次のことを試してみた:pythonを使ってページにログインし、リダイレクトされたリンクを取得する方法は?

How to use Python to login to a webpage and retrieve cookies for later usage?

しかしこれは、すべてのログインとすべてのリフレッシュに変化するので、私はhiddenpageリンクを知ることができない

resp = opener.open('http://www.example.com/hiddenpage.php') 

が必要です。

ページは、単純なHTTP 1と である私は、入力フィールドを知るためにWireSharkのを使用して

HTML Form URL Encoded: application/x-www-form-urlencoded 
Form item: "mode" = "451" 
Form item: "json" = "{"username":"test1,"password":"dragon","testtest":"1","browser":"Chrome_57"}" 
Form item: "__RequestType" = "ajax" 
Form item: "t" = "Sat Apr 22 2017 15:05:41 GMT 0530 (India Standard Time)" 

を次のように彼らは、私は、スクリプト内のすべてのフォーム項目を含めなければならないのか、彼らはによって提供されていますリクエストライブラリのデフォルト?ウェブサイトにアクセスしているユーザは、ユーザ名とパスワードのみを提供しますが、残りのフィールドも編集可能です。

This is how login page looks if it helps

答えて

0

あなたはrequest.sessionを使用することができます。 POSTリクエストを使用してログインできます。その後、sessionは、ブラウザからログインした場合と同様に自動的にログインリンクに従います。

from request import session 

Session = session() 

payload = { 
    "username": test1, 
    "password": "dragon", 
    "testtest": "1", 
    "browser": "Chrome_57" 
    } 

result = Session.post("http://example.com/",data=payload).content.decode() #Session.get for get request 

print(result) #page after logging in. 
+0

ありがとうございますが、まだログインできていないようです。このメッセージは 'view-source'(chrome)にも表示されないため、 'login failed'のようなエラーメッセージがあるかどうかわかりません。要素を調べると、HTMLに表示されます。私はこれがどのように可能かわかりませんが、それはそれが何であるかです。 – Siddhant

+0

Hmmm ... 'result'は何を印刷しますか? – Dashadower

+0

ログインのページソースコードと同じです。 – Siddhant

関連する問題