#encoding = utf-8

import urllib2
import urllib

url = 'http://httpbin.org/post'
data={"name":"tom","age":22}
data=urllib.urlencode(data)

req=urllib2.Request(url,data)
html=urllib2.urlopen(req)
content = html.readlines()

print u"请求结果内容:"
print content

结果:

D:\>python test.py
请求结果内容:
['{\n', ' "args": {}, \n', ' "data": "", \n', ' "files": {}, \n', ' "form": {\n', ' "age": "22", \n', ' "name": "tom"\n', ' }, \n', ' "headers": {\n', ' "Accept-Encoding": "identity", \n', ' "Connection": "close", \n', ' "Content-Length": "15", \n', ' "Content-Type": "application/x-www-form-urlencoded", \n', ' "Host": "httpbin.org", \n', ' "User-Agent": "Python-urllib/2.7"\n', ' }, \n', ' "json": null, \n', ' "origin": "119.123.179.3", \n', ' "url": "http://httpbin.org/post"\n', '}\n']

添加cookie,带请求头的方式:

#encoding = utf-8

import urllib2,urllib
import cookielib

url="http://www.renren.com/ajaxLogin"
#定义一个容器,然后定义带cookie的模板,再定义一个实际的post请求
#创建cj的cookie容器
cj=cookielib.CookieJar()
#用容器创建一个带有cookie的请求模板
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#将要post发出去的数据进行编码
data = urllib.urlencode({"email":"18142232233","password":"helloworld"})
request = urllib2.Request("http://www.baidu.com/",data)#post请求模板
request.add_header('User-Agent','Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1)')#添加请求头
r=opener.open(request)#使用带有cookie模板的请求模板发送post请求
print u"获取到的cookie为:"
print cj

print u"请求返回的第一行数据"
print r.readline()

 结果:

D:\>python test.py
获取到的cookie为:
<CookieJar[<Cookie BAIDUID=F86188C1F6E5F40C55BE223372AEDCCD:FG=1 for .baidu.com/>, <Cookie BDSVRTM=0 for www.baidu.com/>]>
请求返回的第一行数据
<!DOCTYPE html>

urllib2 post请求方式,带cookie,添加请求头的更多相关文章

  1. PostMan 使用Interceptor 发送带cookie的请求一直loading

    问题 最近要写一个爬虫(虽然是第一次写),于是就用了Chrome上非常方便一个插件,PostMan,但是由于chrome安全的限制,发不出带cookie和带有自定义头部标签的请求. 百度一番后得如果想 ...

  2. 使用Postman Interceptor发送带cookie的请求一直loading的解决法案

    很多web网页开发人员都知道Postman限制由于chrome安全的限制,发不出带cookie和带有自定义头部标签的请求.想要发出由于chrome安全的限制,发不出带cookie和带有自定义头部标签的 ...

  3. HTTPClient实现免登陆请求(带cookie请求)

    背景: 使用httpClient请求某登录型网站,模拟一个操作,一般步骤一个httpclient模式登录->httpClient模拟操作: 此时发现,每次操作都需要进行一次登录,极其浪费时间,是 ...

  4. axios 跨域请求允许带cookie,则服务器Access-Control-Allow-Origin应设置为具体域名,否则请求无法获得返回数据

    1.通过允许跨域访问实现了跨域请求,但为了使每个请求带上session信息,我设置了withCredentials ,即: axios.defaults.withCredentials = true ...

  5. Postman中使用Postman Interceptor 发送带Cookie 的请求

    使用Postman 发送Cookie 的请求时,发现无法发送成功, 显示"Restricted Header (use Postman Interceptor)" 提示. 网上搜了 ...

  6. HTTP请求方式中8种请求方法(简单介绍)

    简单介绍 HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范.HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的.当我们没有指定端口访问时,浏览器会 ...

  7. go中处理各种请求方式以及处理接口请求参数

    话不多说直接上代码,解读内容全部在代码中 1.处理请求方式 package main import ( "fmt" "io/ioutil" "net/ ...

  8. iOS Get方式带中文不能请求网络

    今天发现一个蛋疼的问题,使用ASIHTTPRequest Get方式请求数据时候带中文,iOS客户端不能正确进行网络请求. NSURL *url = [NSURL URLWithString:@htt ...

  9. postman带cookie进行请求

    接口地址: https://m.xxxx.com/api/front/activity/xs/session 打开postman的headers, 然后复制fiddler中接口的cookie,设置co ...

  10. requests模块发送带headers的Get请求和带参数的请求

    1.在PyCharm开发工具中新建try_params.py文件: 2.try_params.py文件中编写代码: import requests#设置请求Headers头部header = {&qu ...

随机推荐

  1. window 系统显示svg、psd格式文件

    可以安装SVG Explorer Extension来预览略缩图原地址:https://svgextension.codeplex.com 参考地址 github上 exe 文件下载地址 https: ...

  2. finecms如何调用多个指定栏目的内容

    想调用finecms多个栏目的内容,用英文状态下的逗号来分开多个id实现不了(catid=1,2,3),要如何写噢?后面ytkah想想这个跟sql语法有点一样,用IN_catid = 1,2,3果然成 ...

  3. mysql命令行各个参数解释

    mysql命令行各个参数解释 http://blog.51yip.com/mysql/1056.html Usage: mysql [OPTIONS] [database]   //命令方式 -?, ...

  4. Linux软件包安装

    rpm命令 命名方式  name-VERSION-release.arch.rpm 常见的arch: x86:   i386  i486    i586   i686 x86_64:   x64    ...

  5. [路径规划] VFF和VFH

    VFF虚拟力场法 #ifndef VFF_HEADER #define VFF_HEADER #include <vector> #include "utils\point.h& ...

  6. Spring boot 整合hive-jdbc导致无法启动的问题

    使用Spring boot整合Hive,在启动Spring boot项目时,报出异常: 经过排查,是maven的包冲突引起的,具体做法,排除:jetty-all.hive-shims依赖包.对应的po ...

  7. 从原型链看DOM--Node类型

    前言: 本系列从原型,原型链,属性类型等方面下手学习了DOM文档对象模型,旨在弄清我们在DOM中常用的每一个属性和方法都清楚它从哪里来要到哪里做什么事,这样对于理解代码有一定启发.全靠自己在总结中摸索 ...

  8. 使用web3j工具生成java版本的智能合约

    这里需要使用的环境 web3j,nodejs 安装编译sol工具 $ npm install -g solc 保存为hello.sol文件到本地 pragma solidity 0.4.19; con ...

  9. http协议下载文件

    通过在 URL 上调用 openConnection 方法创建连接对象.(HttpURLConnection conn = (HttpURLConnection)new URL("网址&qu ...

  10. go build -ldflags

    http://studygolang.com/articles/2052 ldflags 用法:[路径,非必需,除非你有目录层次]包名.变量 [path]packege.value go build ...