requests--发送请求
前戏
使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求。
官网:https://2.python-requests.org//zh_CN/latest/
安装:pip install requests
发送请求
requests发送一个请求非常简单
import requests basic_url = 'http://httpbin.org' # 发送get请求
r = requests.get(basic_url + '/get')
print(r.status_code) # 打印状态码 # 发送post请求
r = requests.post(basic_url + '/post')
print(r.status_code) # 发送put请求
r = requests.put(basic_url + '/put')
print(r.status_code) # 发送delete请求
r = requests.delete(basic_url + '/delete')
print(r.status_code)
有时候我们发送请求之后,服务器返回给我们的响应里面,可能会包含乱码或者是在一行显示,类似下面这样
{"result":600001,"data":"","msg":"\u8bfe\u7a0b\u4e0d\u5b58\u5728"}
这时候我们就要用json库进行格式化
import requests
import json url = 'http://t.weather.sojson.com/api/weather/city/101030100'
r = requests.get(url)
r = r.json() # 返回响应的JSON编码内容,如果返回的不是json格式的就会报错,字典类型,不能对r.text进行json() f = json.dumps(r, indent=2, sort_keys=True, ensure_ascii=False)
print(f)
index缩进多少,sort_keys排序,ensure_ascii=False将汉字显示出来
结果
{
"cityInfo": {
"city": "天津市",
"citykey": "",
"parent": "天津",
"updateTime": "00:19"
},
"data": {
"forecast": [
{
"aqi": 89,
"date": "",
"fl": "<3级",
"fx": "西南风",
"high": "高温 32℃",
......
},
"date": "","status": 200,
"time": "2019-08-25 00:30:04"
}
这样就能友好的展示了
requests--发送请求的更多相关文章
- Python使用requests发送请求
Python使用第三方包requests发送请求,实现接口自动化 发送请求分三步: 1.组装请求:包括请求地址.请求头header.cookies.请求数据等 2.发送请求,获取响应:支持get.po ...
- Python3 内置http.client,urllib.request及三方库requests发送请求对比
如有任何学习问题,可以添加作者微信:lockingfree 更多学习资料请加QQ群: 822601020获取 HTTP,GET请求,无参 GET http://httpbin.org/get Pyth ...
- Python - requests发送请求报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 13-14: 小明 is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
背景 在做接口自动化的时候,Excel作为数据驱动,里面存了中文,通过第三方库读取中文当请求参数传入 requests.post() 里面,就会报错 UnicodeEncodeError: 'lati ...
- Django:给requests发送请求功能 套一层衣服。
个人的疑问
- requests发送post请求的一些疑点
前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法.一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要 ...
- Python使用grequests并发发送请求
目录 前言 grequests简单使用 grequests和requests性能对比 异常处理 前言 requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快.但是 ...
- requests发送HTTP请求
requests库是一个流行的用于发送Http请求的Python第三方库, 其设计简洁高效可以完美替代默认的urllib. 使用pip安装requests: pip install requests ...
- python使用requests发送application/x-www-form-urlencoded请求数据
def client_post_formurlencodeddata_requests(request_url,requestJSONdata): #功能说明:发送以form表单数据格式(它要求数据名 ...
- python使用requests发送multipart/form-data请求数据
def client_post_mutipart_formdata_requests(request_url,requestdict): #功能说明:发送以多部分表单数据格式(它要求post的消息体分 ...
- Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据
Python+requests 发送简单请求-->获取响应状态-->获取请求响应数据 1.环境:安装了Python和vscode编译器(Python自带的编译器也ok).fiddler抓包 ...
随机推荐
- Python爬取糗事百科示例代码
参考链接:http://python.jobbole.com/81351/#comment-93968 主要参考自伯乐在线的内容,但是该链接博客下的源码部分的正则表达式部分应该是有问题,试了好几次,没 ...
- MMM的又一周计划[2019 7.1→2019.7.7]
发现今天是7.1然后又是星期一 来一发吧 本周目标: 1.二分图最佳匹配 2.网络流 3.HH的项链 4.洛谷rk前1000(目前1.1k) (upd:469) 5.AC260(35题,上周A了34, ...
- centos上tcp抓包
tcpdump host 10.1.131.75 -i eth0 -w data.cap 其中,10.1.131.75上目标机器的IP,eth0上网卡名称,data.cap上抓包数据写入的文件.
- let/const特性
let: 1.声明的变量不存在预解析: console.log(a); let a=1; 2.变量名不允许重复(在同一作用域下): { let a=1; let a=2; console.lo ...
- decodeURIComponent 解码函数
想象一个场景,你朋友发一个链接让你打开,但链接是下面其中之一,你会不会想锤死他 1. \u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0062\u0069\u0 ...
- Vue.js 源码分析(十六) 指令篇 v-on指令详解
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码,例如: <!DOCTYPE html> <html lang="en"& ...
- MyCat(转)
https://www.cnblogs.com/bingosblog/p/7171501.html http://www.cnblogs.com/joylee/p/7513038.html ht ...
- mysql只显示表名和备注
查看某个数据下的表及其备注: select table_name,table_comment from information_schema.tables where table_schema='db ...
- xshell使用zmodem拖拽上传
一.目的 windows向centos_linux服务器上传文件可以用ftp上传,但是没zmodem方便,zmodem拖拽上传,可以上传到指定的目录下. 二.安装使用 执行下面的命令安装后就可以使用了 ...
- vs2015 创建MVC项目
直接上图吧! 第一步:新建项目 第二步:选择模板 第三步:系统自动生成项目文件 第四步:创建控制器(C):找到Controllers文件夹->右键->添加->控制器 第五步:添加控制 ...