requests模块demo
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的更多相关文章
- 爬虫 requests 模块
requests 模块 介绍 使用requests可以模拟浏览器的请求, 比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) ps: requests库发 ...
- 爬虫第三篇:requests模块
requests模块其实就是对urllib.request模块的进步一不优化,提供了很多可选的参数,同时简化了操作.下面我还是贴上具体操作的代码. requests GET请求 GET请求html文件 ...
- 爬虫4:pdf页面+pdfminer模块+demo
本文介绍下pdf页面的爬取,需要借助pdfminer模块 demo一般流程: 1)设置url url = 'http://www.------' + '.PDF' 2)requests模块获取url ...
- 爬虫requests模块 1
让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...
- requests 模块
发送请求 使用Requests发送网络请求非常简单. 一开始要导入Requests模块: >>> import requests 然后,尝试获取某个网页.本例子中,我们来获取Gith ...
- requests模块--python发送http请求
requests模块 在Python内置模块(urllib.urllib2.httplib)的基础上进行了高度的封装,从而使得Pythoner更好的进行http请求,使用Requests可以轻而易举的 ...
- Python requests模块学习笔记
目录 Requests模块说明 Requests模块安装 Requests模块简单入门 Requests示例 参考文档 1.Requests模块说明 Requests 是使用 Apache2 Li ...
- Python高手之路【八】python基础之requests模块
1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 ...
- Python requests模块
import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': [ ...
随机推荐
- 如何安装搜索引擎Elasticsearch?
最近工作中要用到搜索引擎,由于目前用的搜索引擎是LeanCloud 提供的 ,不太好用,不支持范围等搜索,而且每天还收费30元,请求次数也有限制.基于这些原因,我们只好在自己的服务器上部署搜索引擎了. ...
- HDU4039(map应用)
The Social Network Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)T ...
- Java-API:java.util.list
ylbtech-Java-API:java.util.list 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. https://docs.oracle.co ...
- Oracle 数据库表(常见的表)
数据库表(常见的表) 堆组织表:普通表 索引组织表:iot 嵌套表 临时表 外部表 1 表 一个表最多1000列,oracle会把列大于254的行存储在多个单独的行段中, 表中的行是无限的, 术 ...
- MySQL mysqldump与innobackupex 组合备份
此脚本,在01点进行一次逻辑全备份,03点进行一次物理全备份,中午12点进行一次增量物理备份 #! /bin/bash #05 01,03,12 * * * mysql /data/mysqldata ...
- AngularJS入门之如何快速上手
概述: AngularJS(ng)是一个纯JS框架,AngularJS易于构建CRUD应用(CRUD意思是增删改查) 适用于以数据操作为主的SPA(Single Page Application) ...
- java 多线程系列基础篇(七)之线程休眠
1. sleep()介绍 sleep() 定义在Thread.java中.sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”.sleep()会指定休眠时间,线 ...
- GCD详细用法
一.延迟执行 1.介绍 第一种方法,该方法在那个线程调用,那么run就在哪个线程执行(当前线程),通常是主线程. [self performSelector:@selector(run) withOb ...
- cookie禁用后非重定向跳转时session的跟踪
- IE的haslayout
haslayout 是Windows Internet Explorer渲染引擎的一个内部组成部分.在InternetExplorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元 ...