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"
}

 这样就能友好的展示了

posted @ 2019-10-09 19:17  邹邹很busy。  阅读(261)  评论(0)    收藏  举报