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. Poj 2488 A Knight's Journey(搜索)

    Background The knight is getting bored of seeing the same black and white squares again and again an ...

  2. 机器学习:逻辑回归(OvR 与 OvO)

    一.基础理解 问题:逻辑回归算法是用回归的方式解决分类的问题,而且只可以解决二分类问题: 方案:可以通过改造,使得逻辑回归算法可以解决多分类问题: 改造方法: OvR(One vs Rest),一对剩 ...

  3. Java-API:java.lang百科

    ylbtech-Java-API:java.lang百科 java.lang是提供利用 Java 编程语言进行程序设计的基础类.最重要的类是Object(它是类层次结构的根)和 Class(它的实例表 ...

  4. web.xml中classpath表示什么样的路径

    首先  classpath是指 WEB-INF文件夹下的classes目录 解释classes含义: 1.存放各种资源配置文件 eg.init.properties log4j.properties ...

  5. python风格指南

    还在让别人一眼就看出你是一只野生程序猿嘛,快来看看谷歌的python风格指南提升逼格吧! http://zh-google-styleguide.readthedocs.io/en/latest/go ...

  6. SQL命令优化

    与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤.以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词.表达式 ...

  7. Flash在线签名小程序,可回放,动态导出gif图片

    需求: 公司为了使得和客户领导签字的时候记录下来,签字过程,可以以后动态回放演示,最好是gif图片,在网页上也容易展示,文件也小. 解决过程: 始我们去寻找各种app,最终也没有找到合适的,后来我在f ...

  8. src路径

  9. 实验吧CTF题库-编程(部分)

    百米 3秒提交答案,数字是随机变化的 利用Python脚本解题 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import ...

  10. HDLM命令dlnkmgr详解之四_monitor/offline/online

    1. monitor 以一定的时间间隔监控hba或cha口的IO信息. 命令格式 监控hba口的IO信息: dlnkmgr monitor -hbaid HBA_ID [-intvl Interval ...