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': [ ...
随机推荐
- 手把手教你创建Azure ARM Template
Azure的ARM模式在中国已经落地了.在ARM模式中,通过ARM的Template批量的创建各种资源是与ASM模式的最大的区别之一.目前Azure ARM的Template数量已经越来越多,更多的客 ...
- Angular5学习笔记 - 项目目录结构(二)
一.项目总体目录 README.md:项目的说明和一些常用指令说明,建议看看. e2e:看不懂暂时空着??? node_modules/:存放npm下载的组件(npm install 后自动产生,不需 ...
- PHP:json_encode 保持中文不被转为ASCII码
echo json_encode(array('黄河之水天上来'),JSON_UNESCAPED_UNICODE);
- UEditor富文本编辑器的图片上传 http://fex.baidu.com/ueditor/#server-deploy
http://fex.baidu.com/ueditor/#server-deploy http://fex.baidu.com/ueditor/#server-path 首先 editor配置文件中 ...
- Extjs5.0 学习之路【结构篇】
Extjs5.0在原有的MVC模式下增加了一个MVVM Extjs5.0项目文件执行顺序. 新增特性一 bind---data
- python startswith与endswith
如果你要用python匹配字符串的开头或末尾是否包含一个字符串,就可以用startswith,和endswith比如:content = 'ilovepython'如果字符串content以ilove ...
- 智能提示框---bai
input.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- 微信小程序基础语法总结
本文介绍微信小程序语法 配置文件 app.json的配置(全局) { // 用来配置页面的路径 "pages":[ "pages/index/index", / ...
- mongodb与mongodb可视化工具adminMongo结合使用
一,MongoDB的安置及配置 1,从MongoDB官网下载安装 https://www.mongodb.com/download-center#community 根据的电脑选择合适的版本安装: 根 ...
- SqlServer——游标
参考:http://www.cnblogs.com/94cool/archive/2010/04/20/1715951.html http://www.cnblogs.com/moss_tan_ju ...