python发送cookie请求_Python中实现带Cookie的Http的Post请求
已经实现了如何获得对应的cookie,具体参考:
【已解决】Python中如何获得访问网页所返回的cookie
现在想要把已获得cookie,在http的提交post请求的时候,也同时发送过去。
即,实现带cookie的http的post。
【解决过程】
1.看了这里
http://www.ideawu.net/blog/archives/270.html
的介绍,好像是cookiejar,自动管理的,不需要手动指定之前已有的cookie了。
去写代码试试。
2.后来的结果证实了,接下来,直接调用urllib2.Request,其自动会把cookie送过去的,
因为之前已经是urllib2.build_opener,添加了对应cookiejar去自动管理cookie了。
对应的代码如下:
# first url request
baiduSpaceEntryUrl = "http://hi.baidu.com/motionhouse";
cj = cookielib.CookieJar();
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj));
urllib2.install_opener(opener);
resp = urllib2.urlopen(baiduSpaceEntryUrl);
# second time do url request, the cookiejar will auto handle the cookie
loginBaiduUrl = "https://passport.baidu.com/?login";
para = {
'username' : username,
'password' : password,
'mem_pass' : 'on',
};
postData = urllib.urlencode(para);
req = urllib2.Request(loginBaiduUrl, postData); # urllib2.Request: the HTTP request will be a POST instead of a GET when the data parameter is provided.
req.add_header('User-Agent', gConst['userAgentIE9']);
req.add_header('Content-Type', 'application/x-www-form-urlencoded');
req.add_header('Cache-Control', 'no-cache');
req.add_header('Accept', '*/*');
req.add_header('Connection', 'Keep-Alive');
resp = urllib2.urlopen(req);
respInfo = resp.info();
【总结】
Python中的cookiejar,自动帮我们管理好cookie,用起来,还是蛮方便的。
我们要做的只是,第一次build_opener的时候,把对应的cookiejar传进去,
以后每次的http的request,都会自动包含了cookie,而不需要我们操心了
转自:http://www.crifan.com/python_http_post_request_with_cookie/
python发送cookie请求_Python中实现带Cookie的Http的Post请求相关推荐
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- python cookies是什么_Python中的Cookie模块有什么功能?
Cookie 模块,顾名思义,就是用来操作Cookie的模块. Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保持会话时用到的信息 切片. Http协议本身是无状态的,也 ...
- python cookies是什么_Python网络爬虫之Cookie技术(一)
原标题:Python网络爬虫之Cookie技术(一) 当我们访问一个需要用户名和密码登录的网站(例如某宝)时,只要我们注册好并成功登录后,下次访问该网站时,网站就会记住我们的登录信息,而无需重新登录. ...
- python cookie池_Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
下载代码Cookie池(这里主要是微博登录,也可以自己配置置其他的站点网址) 下载代码GitHub:https://github.com/Python3WebSpider/CookiesPool 下载 ...
- python决策树 多分类_Python中的决策树分类:您需要了解的一切
python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...
- python怎么清理垃圾_Python 中的“垃圾”是怎么回收的?
前言 对于python来说,一切皆为对象,所有的变量赋值都遵循着对象引用机制.程序在运行的时候,需要在内存中开辟出一块空间,用于存放运行时产生的临时变量:计算完成后,再将结果输出到永久性存储器中.如果 ...
- python编写ATM类_Python中编写类的各种技巧和方法
有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling).你可以把它当作一个教程, ...
- python首行缩进_python中缩进
初识Python 初识Python 跟学习所有的编程语言一样,首先得了解这门语言的编程风格和最基础的语法.下面就让我们一起来了解一下Python的编程风格. 1.逻辑行与物理行 在Python中有逻辑 ...
- python方法之间加点_python中技巧
1.使用xpath从html文档得到其中元素: 123we为了得到其中的123we元素 tree=html.fromstring(***.text) tt=list(set(tree.xpath(&q ...
最新文章
- 读书笔记-PowerShell实战指南(第三版)
- 京东这道面试题你会吗?
- Oracle 10g(10.2.0.4)升级到10.2.0.5.19
- Unity3D深入浅出 -组件与节点之间的调用关系
- Linux yum 报错:One of the configured repositories failed (Unknown), and yum doesn't have.
- 2017年9月9日普级组 买礼物的艰辛
- Angularjs实现下拉框自动匹配键值对对象技巧
- [09-01]JavaScript 基础语法
- input上传图片;input上传file;vue上传图片。
- OnTouchListener与OnClickListener冲突问题解决思路
- ajax成功后XML 解析错误:格式不佳
- 发力多人在线游戏!PS5有望2020年E3展会亮相!
- 品牌类软文经典案例分享,深刻了解软文营销的“魅力”
- IDEA 配置SVN ,SVN安装后没有svn.exe
- 王者服务器维护11月,王者荣耀11月22日版本更新维护 更新内容介绍
- Electron 安装报错 'Electron failed to install correctly'
- python自动表单填充工具(内含rar)
- dss数字签名技术java_DSS数字签名标准
- Adobe application manager丢失或损坏解决方法
- Android4.4 内置应用默认打开无障碍服务