这个 Python 脚本正确吗?
import urllib, urllib2, cookielib
username = 'myuser'
password = 'mypassword'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://www.example.com/login.php', login_data)
resp = opener.open('http://www.example.com/hiddenpage.php')
resp.read()
我在这里找到了这个脚本。它的目的是先登录到一个网页,检索 cookie,存储它们并使用它们,以便打开同一网站中的其他页面。我想以这种方式登录我的 eBay 帐户(网址是https://signin.ebay.com/ws/eBayISAPI.dll?SignIn),然后转到我的 eBay 帐户的收件箱(网址是http:// /my.ebay.com/ws/eBayISAPI.dll?MyEbay&gbh=1 )。
所以,这里是我需要在这个脚本中使用的值:
第一个(Sing-in)网址:https ://signin.ebay.com/ws/eBayISAPI.dll?SignIn
第二个网址:http ://my.ebay.com/ws/eBayISAPI.dll?MyEbay&gbh=1
我在 eBay 上的登录名:tryinghard
我在 eBay 上的密码:gettingsomewhere
有了所有这些新值,上面的脚本必须是这样的:
import urllib, urllib2, cookielib
username = 'tryinghard'
password = 'gettingsomewhere'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open(https://signin.ebay.com/ws/eBayISAPI.dll?SignIn', login_data)
resp = opener.open(http://my.ebay.com/ws/eBayISAPI.dll?MyEbay&gbh=1')
resp.read()
这是正确的吗?我特别怀疑这login_data =条线(倒数第四条),为什么它是 a j_passwordthere 而不是 just password?
我用所有这些值尝试了这个脚本,但它没有用。有人知道为什么它在我的情况下不起作用吗?
我已经学会了如何登录到我的 eBay 帐户,然后通过运行使用斜纹布作为外部模块的 python 脚本来检查那里的其他页面,但只有当我从命令提示符运行该脚本时才成功或从 Python 外壳。当我尝试通过从"Google App Engine"下载的"Google App Engine Software Development Kit"运行该脚本时,它没有成功。
后来我在这里被告知它没有成功,因为“Google App Engine”不喜欢外部模块。这就是我找到这个脚本的原因——它一开始就导入的那些模块(urllib、urllib2、cookielib)都是内置模块。