如何用python代码向原网址(http://202.115.67.50/service/login.jsp)表单输入数据,然后重定向另一个网页

hanst 发布于 2014/11/04 20:41
阅读 1K+
收藏 0
# -*- coding: utf-8 -*-
import urllib
import urllib2


urls = 'http://202.115.67.50/service/login.jsp'


urls1 = 'http://202.115.67.50/usersys/index.jsp'


values = {'url':'../usersys/index.jsp','OperatingSystem':'','Browser':'','user_id':'1111111','password':'1111111'}


data = urllib.urlencode(values)


req = urllib2.Request(urls, data)


response = urllib2.urlopen(req)


if response.geturl() == urls:
    print u'登录失败'
else:

    print u'登录成功'

  我的 values数值写少了吗?ps:我给的网址不需要加user-agent
加载中
0
edsion
edsion
用cookielib自动管理cookie,然后再依次访问两个网址试试
hanst
hanst
可以说的详细点吗?
0
hanst
hanst
可以说的详细点不?
0
edsion
edsion

引用来自“hanst”的评论

可以说的详细点不?
#获取CookieJar实例
cj=cookielib.CookieJar()
#自定义opener,并将opener跟CookieJar实例绑定
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#安装自定义的opener,此后调用urlopen()时都会使用安装过的opener对象
urllib2.install_opener(opener)

 

这样就可以在第一次打开指定的url时获得所需要cookies,再次使用urlopen()打开url时就会附带这些cookies,CookieJar会智能的帮你管理那些cookies,所以你不需要关心太多的细节。
0
p
py7th
请问下,你是想干嘛呢,这个不难,用selinum这个框架很简单的就能搞定的
0
_yjp
_yjp
根据个人经验  urls = 'http://202.115.67.50/service/login.jsp' 要求的数据应该会是"POST"方式提交的
data = urllib.urlencode(values) 


req = urllib2.Request(urls, data) 


response = urllib2.urlopen(req)

这样直接urlencode然后请求url,参数是以“GET”方式传递的。

所以你应当将你的数据“values ”包装成"multipart/form-data"格式,进行请求。

具体的可以google一下python如何post数据



返回顶部
顶部