import urllib.request
import requests
from requests.auth import HTTPBasicAuth
from requests.auth import HTTPDigestAuth
import json base_url = 'http://httpbin.org' # 发送get请求
r = requests.get(base_url+'/get')
print(r.status_code) #发送post请求
r = requests.post(base_url+'/post')
print(r.status_code) #发送put请求
r = requests.put(base_url+'/put')
print(r.status_code) #发送delete请求
r = requests.delete(base_url+'/delete')
print(r.status_code) # 发送get请求 传递url参数
param_data={'user':'zxw123','password':''}
r = requests.get(base_url+'/get',params=param_data)
print(r.url)
print(r.status_code)
resonponse = urllib.request.urlopen("http://baidu.com")
html= resonponse
print(html) # post传递body参数
from_data={'user':'zxw123','password':''}
r = requests.post(base_url+'/post',data = from_data)
print(r.status_code)
print(r.text) # 请求头定制 将dict传递给header
from_data={'user':'zxw123','password':''}
header={'user-agent': 'Mozilla/5.0'}
r = requests.post(base_url+'/post',data = from_data,headers = header)
print(r.status_code)
print(r.text) # 响应内容
from_data={'user':'zxw123','password':''}
header={'user-agent': 'Mozilla/5.0'}
r = requests.post(base_url+'/post',data = from_data,headers = header)
# 响应状态码
print(r.status_code)
# 响应内容
print(r.text)
# 响应内容以json格式
print(r.json())
# 响应头信息
print(r.headers) # 设置cookie cookie={'uesr':'beijing'}
r=requests.get(base_url+'/cookies',cookies = cookie)
print(r.text) # 获取cookie
# 请求百度首页,获取cookie
r = requests.get('http://baidu.com')
print(type(r.cookies))
print(r.cookies)
for key,value in r.cookies.items():
print(key+':'+value) # 超时
# 设定timeout超时之后停止响应,防止请求没有响应而一直处于等待状态
cookie={'uesr':'beijing'}
r=requests.get(base_url+'/cookies',cookies = cookie,timeout = 10)
print(r.text) # 文件上传 参数files
file={'file':open('zxw_logo.png','rb')}
r = requests.post(base_url+'/post',files=file)
print(r.text) # session(会话)
# 接口之间经常有依赖关系,在没有session保存机制的情况下,第二个接口无法获取第一个接口的cookie值 # 设置cookie
r = requests.get(base_url+'/cookies/set/user/51zxw')
print(r.text) # 获取cookie
r = requests.get(base_url+'/cookies')
print(r.text) # 加入session之后,可以模拟同一对话而不用担心cookies问题,通常用于模拟成功登陆之后进行下一步操作
s = requests.Session()
# 设置cookie
r=s.get(base_url+'/cookies/set/user/51zxw')
print(r.text) # 获取cookie
r =s.get(base_url+'/cookies')
print(r.text) # ssl验证默认开启,验证失败会抛出SSLError
# r = requests.get('https://www.12306.cn')
# 关闭ssl验证
r=requests.get('https://www.12306.cn',verify=False)
print(r.text) # 身份认证 BasicAuth
r = requests.get(base_url+'/basic-auth/51zxw/8888',auth=HTTPBasicAuth('51zxw',''))
print(r.text) # 身份认证 DigestAuth
r = requests.get(base_url+'/digest-auth/auth/heiheiehi/23333',auth=HTTPDigestAuth('heiheihei',''))
print(r.text) # # 代理设置
proxies = {'http':'http://219.142.132.146:4065'}
r = requests.get(base_url+'/get',proxies=proxies)
print(r.text) # 流式请求, 接口返回多个结果 r = requests.get(base_url+'/stream/10',stream = True)
# 如果响应内容没有设置编码,则默认为utf-8
if r.encoding is None:
r.encoding='utf-8'
# 对响应结果进行迭代处理
for line in r.iter_lines(decode_unicode=True):
if line:
data=json.loads(line)
print(data['id'])

requests模块demo的更多相关文章

  1. 爬虫 requests 模块

    requests 模块 介绍 使用requests可以模拟浏览器的请求, 比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) ps: requests库发 ...

  2. 爬虫第三篇:requests模块

    requests模块其实就是对urllib.request模块的进步一不优化,提供了很多可选的参数,同时简化了操作.下面我还是贴上具体操作的代码. requests GET请求 GET请求html文件 ...

  3. 爬虫4:pdf页面+pdfminer模块+demo

    本文介绍下pdf页面的爬取,需要借助pdfminer模块 demo一般流程: 1)设置url url = 'http://www.------' + '.PDF' 2)requests模块获取url ...

  4. 爬虫requests模块 1

    让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...

  5. requests 模块

    发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Gith ...

  6. requests模块--python发送http请求

    requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...

  7. Python requests模块学习笔记

    目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档   1.Requests模块说明 Requests 是使用 Apache2 Li ...

  8. Python高手之路【八】python基础之requests模块

    1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2  ...

  9. Python requests模块

    import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': [ ...

随机推荐

  1. HDU4039(map应用)

    The Social Network Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)T ...

  2. PCIe相关的操作命令

    1.lspci        --显示列举系统目前的pcie设备    43:00.0 Class 0004: Device 104c:b800 (rev 01)    //netra设备 设备编号 ...

  3. 忽略‘Chrome正在受到自动软件的控制’的提示语,以及后台静默模式启动。

    一.使用Chrome做的时候,会看到浏览器上方出现‘Chrome正在受到自动软件的控制’的提示语, 若想忽略此提示信息,在浏览器配置里加个参数:disable_infobars 代码如下 : # co ...

  4. [iOS]UIImageView增加圆角

    [iOS]UIImageView增加圆角 "如何给一个UIImageView增加圆角?有几种方法?各自区别?" 备注:本文参考自http://www.jianshu.com/p/d ...

  5. js实现大文件分片上传的方法

    借助js的Blob对象FormData对象可以实现大文件分片上传的功能,关于Blob和FormData的具体使用方法可以到如下地址去查看FormData 对象的使用Blob 对象的使用以下是实现代码, ...

  6. CreateMutex实现只能打开一个客户端

    #include "stdafx.h" #include <Windows.h> #include <iostream> using namespace s ...

  7. 问题:不支持Dictionary;结果:在Web Service中傳送Dictionary

    在Web Service中傳送Dictionary 有個需求,想在Web Service中傳遞Dictionary<string, string>參數,例如: 排版顯示純文字 [WebMe ...

  8. Tiny4412 u-boot分析(1)u-boot配置流程分析

    参考Friendlyarm的文档,编译uboot的流程为 make tiny4412_config make 这个过程主要涉及到两个文件,顶层的Makefile文件和mkconfig文件,makeco ...

  9. Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!

    Eclipse 编译没问题,但是运行就出现这个报错:Unknown error: Unable to build: the file dx.jar was not loaded from the SD ...

  10. Vim 配置文件===/etc/vimrc

    1.替换方法 替换对应的vimrc文件,定制自己的vimrc /etc/vimrc              替换此文件: /home/lmy/.vimrc     只对当前用户有效: Ubuntu9 ...