2016-06-07 191 views
1

我知道這與其他請求登錄問題類似,但由於某種原因,似乎沒有任何東西與我的代碼一起工作。 我試圖登錄到https://pacer.login.uscourts.gov/csologin/login.jsf ,我使用下面的代碼使用Python請求登錄到使用jsf登錄的問題

url = 'https://pacer.login.uscourts.gov/csologin/login.jsf' 
payload = {'login:loginName': uName, 'login:password': pWord} 
search_payload = {'court_id': 'casdce', 'date_filed': '5/31/16'} 
with requests.session() as s: 
    p = s.post(url, data=payload) 
    print p.text 

,這只是返回登錄頁面的文本。我錯過了什麼?很抱歉,如果這似乎是一個重複的問題,我只是不知道發生了什麼事情錯我的代碼

回答

0

你缺少一些後數據:

data = {"login":"login", 
     "login:loginName":uName, 
     "login:password":pWord, 
     "login:clientCode":"", 
     "login:fbtnLogin":"", 
     "javax.faces.ViewState":"stateless"} 

headers = {"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36"} 
url = 'https://pacer.login.uscourts.gov/csologin/login.jsf' 

search_payload = {'court_id': 'casdce', 'date_filed': '5/31/16'} 
with requests.session() as s: 
    p = s.post(url, data=data, headers=headers) 
    print p.text 

添加用戶代理也是一般的好理念。你可以看到發佈數據的開發人員工具:

enter image description here

您可能會或可能不會需要做的請求到現場存放的餅乾,如果你不那麼就做一個s.get("https://pacer.login.uscourts.gov/csologin/login.jsf")您登錄

+0

非常感謝。這解決了問題。現在我得到一個SSLError:證書驗證失敗。當我設置verify = False時,它可以工作,但顯然這是不安全的。我對SSL認證一無所知,我如何正確配置我的證書以避免此錯誤? – hudswideworld

+0

你在使用什麼操作系統? –

+0

我在我的Linux機器上嘗試它,它不工作。切換到Windows,沒有證書錯誤 – hudswideworld