requests--发送请求

简介: 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": "101030100",
    "parent": "天津",
    "updateTime": "00:19"
  },
  "data": {
    "forecast": [
      {
        "aqi": 89,
        "date": "24",
        "fl": "<3级",
        "fx": "西南风",
        "high": "高温 32℃",
  ......
  },
  "date": "20190824","status": 200,
  "time": "2019-08-25 00:30:04"
}

这样就能友好的展示了


相关文章
|
JavaScript 前端开发
Vue系列教程(11)- 组件详解(Vue.component、props)
Vue系列教程(11)- 组件详解(Vue.component、props)
182 0
|
存储 安全 前端开发
基于springboot的流浪动物救助管理系统
基于springboot的流浪动物救助管理系统
|
存储 对象存储 UED
CDN适用哪些场景?
CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。今天为大家分享几个CDN的典型适用场景。
16769 0
|
8月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
403 10
|
数据采集 JSON 数据格式
Python爬取猪肉价格走势
Python爬取猪肉价格走势
263 0
|
XML Java Android开发
Android Studio App开发之碎片Fragment的讲解及实战(附源码 包括静态和动态注册)
Android Studio App开发之碎片Fragment的讲解及实战(附源码 包括静态和动态注册)
758 1
|
消息中间件 存储 canal
3分钟白话RocketMQ系列—— 如何保证消息顺序性
3分钟白话RocketMQ系列—— 如何保证消息顺序性
2149 1
3分钟白话RocketMQ系列—— 如何保证消息顺序性
|
异构计算 SoC
最详细手把手教你安装 Vivado2019.2
最详细手把手教你安装 Vivado2019.2
1432 0
|
NoSQL easyexcel Java
easyexcel导入导出百万条数据思路分析
easyexcel导入导出百万条数据思路分析
418 0
报错You may use special comments to disable some warnings.vue-cli脚手架关闭eslint的步骤
报错You may use special comments to disable some warnings.vue-cli脚手架关闭eslint的步骤