我目前正试图掌握pycurl。我试图登录到一个网站。登录到网站后,它应该重定向到主页面。但是,尝试此脚本时,它只会返回到登录页面。我可能会做错什么?pycurl脚本无法登录到网站
import pycurl
import urllib
import StringIO
pf = {'username' : 'user', 'password' : 'pass' }
fields = urllib.urlencode(pf)
pageContents = StringIO.StringIO()
p = pycurl.Curl()
p.setopt(pycurl.FOLLOWLOCATION, 1)
p.setopt(pycurl.COOKIEFILE, './cookie_test.txt')
p.setopt(pycurl.COOKIEJAR, './cookie_test.txt')
p.setopt(pycurl.POST, 1)
p.setopt(pycurl.POSTFIELDS, fields)
p.setopt(pycurl.WRITEFUNCTION, pageContents.write)
p.setopt(pycurl.URL, 'http://localhost')
p.perform()
pageContents.seek(0)
print pageContents.readlines()
编辑:正如彼得指出网址应指向一个登录URL,但我试图得到这个工作的失败告诉我这会是什么URL的网站。该表单的动作只是指向主页(/index.html)
不应该URL是可以接受的登录表单的网址?这通常不是主页“/”URL,而是诸如“login.cgi”或“login.php”或任何应用程序文件处理登录表单的内容。 – 2010-06-17 04:20:30
你说得对。我回去检查了这一点,它似乎适用于我正在运行的测试页面,但没有用于我试图真正为其工作的那个测试页面。非测试页面的操作表单指向主页的URL,所以我不积极做什么。 – 2010-06-17 13:46:37
很可能,您登录的页面正在使用Javascript发布到除index.html文件以外的url。您可能需要查看Javascript以查看将值发布到哪里。 – 2010-06-17 13:51:41