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抓包 ...
随机推荐
- Pandownload倒下了,还有它,又一款百度云下载神器,速度可达10M/s
最近很多小伙伴反馈 Pandownload 不好使了 对此我表示 脑壳疼 不过经过一番折腾 还是找到了一个不错的替代品 它就是 baidupcs-web 下载解压后就这么一个可执行文件 干净的不可思议 ...
- 下载代码的时候 SSH与http的区别
SSH: git@gitlab.alibaba-inc.com:damai-mz/mz-market.git HTTP:http://gitlab.alibaba-inc.com/damai-mz/m ...
- 解决 Ubuntu16.04 + opencv4.1 源码编译错误 Makefile:160: recipe for target 'all' failed
最近源码编译 opencv,出现下面的错误 [ %] Built target opencv_dnn Makefile:: recipe for target 'all' failed google ...
- 按照官网的升级完socket.io报错Manager is being released。
查阅了很多资料和英文官网自己也提出了一些问题,估计官网以前有该类的问题历史,懒得回复. 终于功夫不负有心人原因竟然是:你的manager被释放了. you need to make sure the ...
- vue项目使用Ueditor富文本编辑器总结
我使用的是前端大佬封装的vue-ueditor-wrap插件,结合ueditor本身的压缩包开发的. 1.下载vue-ueditor-wrap: npm install vue-ueditor-wra ...
- 修改Hexo自动生成的HTML文件名
导读 我们在使用Hexo框架生成静态博客时,其实是将你写好的.md文件输出成HTML文件进行渲染,其中HTML的文件名称就是.md的文件名称. 而我们为了编辑文章方便,为了通过文件名就知道这是哪篇文章 ...
- Excel 快捷键
自从转岗为项目经理之后,Excel的使用频率大大的增加了,所以需要有意识的学习一下快捷键,提升自己的动作效率. 如下实在Microsoft 官网找到的资料,记录下,以作后备查看: 一.通过键盘访问功能 ...
- Linux SELinux 介绍详解
Linux SELinux 介绍详解 SElinux 简介 SElinux (Security Enhanced Linux)是由美国国家安全局(NSA)开发的.它已被植入到了Linux系统的内核当中 ...
- Could not find resource——mybatis 找不到映射器xml文件
今天用IDEA写Mybatis的时候,测试报了如图所示的错,恶心死我了,后来解决了,总结一下,防止下回跳坑,当然,也是做一个分享,如果有朋友遇到这个错,希望有所帮助 Error parsing SQL ...
- 【机器学习】PCA
目录 PCA 1. PCA最大可分性的思想 2. 基变换(线性变换) 3. 方差 4. 协方差 5. 协方差矩阵 6. 协方差矩阵对角化 7. PCA算法流程 8. PCA算法总结 PCA PCA 就 ...