这是脚本>;>
import ClientForm
import urllib2
request = urllib2.Request("http://ritaj.birzeit.edu")
response = urllib2.urlopen(request)
forms = ClientForm.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
print form
sooform = str(raw_input("Form Name: "))
username = str(raw_input("Username: "))
password = str(raw_input("Password: "))
form[sooform] = [username, password]
request2 = form.click()
try:
response2 = urllib2.urlopen(request2)
except urllib2.HTTPError, response2:
pass
print response2.geturl()
print response2.info() # headers
print response2.read() # body
response2.close()
开始写剧本的时候,我明白了
^{pr2}$问题是什么,我运行在windows,python2.6.4上
更新:
我想要一个登录此站点并打印响应的脚本:)
HTML中唯一的
<form>
标记服务于该URL(将其保存到文件中并自行查找!)是:它做了一个定制的Google搜索,与登录无关(另外,由于某些原因,ClientForm在识别特定表单时遇到了一些问题,但是这个表单对您毫无用处,所以我没有进一步探讨这个问题)。在
您仍然可以使用
^{pr2}$这使得
forms[0]
成为一个包含所有不在窗体中的控件的人工控件。在具体地说,这种方法按顺序用以下名称标识控件(同样,这里有一点解析混乱,但希望不是您的杀手……):
所以您应该能够设置“non-form”}控件,并从那里继续。在
f
的username
和{(边位:
raw_input
已经返回了一个字符串,丢失了它周围那些多余的str()
调用)。在实际地址似乎使用的是
https
,而不是http
。检查urllib2doc,看看它是否处理HTTPS(我相信您需要ssl)相关问题 更多 >
编程相关推荐