import requests
注:发送请求(包括请求行、方法类型、头、体) & 常见的请求方式有get、post、put、delete
格式:requests.get() (内容: url必填; params选填:url参数字典)
- res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince')
- print(res.text)
- #打印响应主体内容,字符串格式
- res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString?theRegionCode=3113')
- print(res.text)
- res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString',
- params={"theRegionCode":3113})
- print(res.text)
知识扩展# requests.post() post请求分为5种,常用的有三种,如下
①application/x-www-form-urlencod (form表单);
②raw (纯文本格式):有5种格式,分别为json/xml/Html/Text/JavaScrip
③multipart/form-data (复合式表单)
-----data 后跟字典
eg.1: 带参数的查询接口
- res = requests.post(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString',
- headers={"Content-Type": "application/x-www-form-urlencoded"},
- data={"theRegionCode": 3113})
- print(res.text)
eg.2: 带账号名密码的登录接口
- res = requests.post(url='http://123.56.99.53:9000/event/api/admin/',
- headers={"Content-Type": "application/x-www-form-urlencoded"},
- data={"username": "admin", "password": "MTIzYWRtaW4="})
- print(res.text)
# ~ xml格式 ----data 后跟字符串
- res = requests.post(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx',
- headers ={"Content-Type": "text/xml; charset=utf-8",
- "SOAPAction": "http://WebXml.com.cn/getSupportCityString"},
- data = '''
-
-
-
string -
-
- ''')
- print(res.text)
# ~json格式 ----- json 后跟字典(常用), or ----data 后跟json字符串
- res = requests.post(url='http://123.56.99.53:5000/event/weather/getWeather/',
- headers={"Content-Type": "application/json"},
- json={"theCityCode": "1001"})
- print(res.text)
注:# json后面跟的是字典即json={"theCityCode": "1001"}),可改成 data=‘{"theCityCode": "1001"})’;字典能自动转为json字符串,所以一般用字典表示;建议纯json正文的接口使用第一种方式,除非是较长的字符串
------上传二进制文件 ---- key value (接口名称:文件名)
- res = requests.post(url='http://123.56.99.53:9001/api/uploadFile/',
- headers={"Cookie": "uid=1;token=44c972f05d76fdd93c31f9c2b65bb098f308cdfc"
- #"Content-Type": "multipart/form-data"},
- #有的接口不需要写正文体格式,老服务器一般需要写
- files={"myfile1": open('D:\全力以富\1.docx', 'rb')
- #"myfile2: open(上传多个文件)"})
- print(res.text)
注:上传接口 files={‘文件路径’,‘rb'} rb表示