2016-10-04 56 views
-1

我試圖用用戶名和密碼填寫表格https://idp.ncedcloud.org/idp/AuthnEngine#/authn。我想知道如果成功或不成功。我試過它ith python2,但我無法讓它工作。填寫在線表格

#!/usr/bin/env python 
import urllib 
import urllib2 

name = "username" 
name2 = "password" 
data = { 
     "description" : name, 
     "ember501": name2 
     } 

encoded_data = urllib.urlencode(data) 
content = urllib2.urlopen("https://idp.ncedcloud.org/idp/AuthnEngine#/authn", 
     encoded_data) 
print(content) 

錯誤:
它打印相同的網頁的內容,我希望它打印新的網頁內容。 所需的行爲: python3解決方案,進入下一個網頁,爲什麼我的代碼不工作

+0

任何理由downvote以下要求? :( – Pete

+1

尋求調試幫助的問題(**「爲什麼這個代碼不工作?」**)必須包含所需的行爲,*特定的問題或錯誤*和*必要的最短代碼*來重現它**問題本身**。沒有**明確問題陳述的問題**對其他讀者無用。請參閱:[如何創建最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) – MattDMo

+1

謝謝你。 – Pete

回答

1

使用requests庫數據發佈到網頁這樣的基本例子。我會建議使用會話,讓您的登錄信息被保存任何以下請求:

import requests 

url = "http://example.com" 

name = "username" 
name2 = "password" 
data = { 
    "description" : name, 
    "ember501": name2 
} 

s = requests.Session() 

# If it supports basic auth you could just do 
# s.auth(username, password) here before a request 

req = s.post(url, data=data) 

print(req.text) 

然後應該能夠做到與s會話對象