java带cookie的post_实现带cookie的HTTP的Post请求

上篇实现了获取cookie,现在将已经获得的cookie,在提交HTTP的Post请求时,也发送出去,即实现带cookie的HTTP的Post请求

import cookielib,urllib,urllib2

#第一次请求URL

baiduSpaceEntryUrl='http://hi.baidu.com/motionhouse'    #百度空间URL

cj=cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

urllib2.install_opener(opener)

resp=urllib2.urlopen(baiduSpaceEntryUrl)

#第二次请求URL,cookiejar自动管理cookie,将得到的cookie信息发送出去

loginBaiduUrl='http://passport.baidu.com/?login'    #登陆百度空间的URL

para={

'username':'XXXXXXXX',

'password':'XXXXXXXX',

'mem_pass':'on',  #勾选下次自动登陆

}

postData=urllib.urlencode(para)

req=urllib2.Request(loginBaiduUrl,postData)  #提供请求参数后request就是Post请求,非Get请求

req.add_header('User-Agent','Mozilla/5.0 (compatible; MSIE 8.0;)')

req.add_header('Content-Type','application/x-www-form-urlencoded')  #Post请求必要条件

req.add_header('Cache-Control','no-cache')

req.add_header('Accept','*/*')

req.add_header('Connection','Keep-Alive')

resp=urllib2.urlopen(req)

respInfo=resp.info()

print respInfo

9f77dd6830e8206b7f391fbfc22d1c1d.png

不要在Request里设置header,因为cookie也是header,如果设置header会导致没有cookie,也就没有登录,而是将其他header信息通过add_header方法逐个添加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值