urllib2 登录 login

#!/usr/bin/python
#coding=utf-8


import urllib
import urllib2
import cookielib

def post(url, data):

data = urllib.urlencode(data)   #将dict转换为http传递时数据  username=name&password=myword

hds = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'}  #header,模仿浏览器

req = urllib2.Request(url, data, headers=hds) #后加参数data,即可成为post请求, req.get_method()可知,此处headers不加也可 


#对于提交json

#son_data = json.dumps(post_data)

#req = urllib2.Request(url, json_data)

#req.add_header('Context-Type', 'application/json')   #一定要加

#urllib2.urlopen(req)  #不需要cookie时,直接这样就提交了 


#enable cookie

cj = cookielib.CookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))  
response = opener.open(req)  #此步骤为登录,以后就可以用opner 来打开别的页面,且状态是登录后的装态
return (response.read(), opener)



def main():
posturl = "http://www.baidu.com/login"
data = { 'password':'mypass', 'autologin':'1', 'username':'my_username',}
html, opener = post(posturl, data)
opener .open(new_url)  #用opener直接打开新的url

if __name__ == '__main__':
main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值