引入 requests 包

注:发送请求(包括请求行、方法类型、头、体) & 常见的请求方式有get、post、put、delete

一、发送get请求

格式:requests.get() (内容: url必填; params选填:url参数字典)
import requests

  • 无参数的get请求
res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince')
print(res.text)
#打印响应主体内容,字符串格式
  • 有参数的get请求
res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString?theRegionCode=3113')
    print(res.text)
  • 使用params的get请求
res = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString',
                  params={"theRegionCode":3113})
print(res.text)

二、发送post请求

知识扩展#  requests.post() post请求分为5种,常用的有三种,如下
①application/x-www-form-urlencod (form表单);
②raw (纯文本格式):有5种格式,分别为json/xml/Html/Text/JavaScrip
③multipart/form-data (复合式表单)

~ 无参数的post请求

~ 有正文体的post请求

  1. form表单(application/x-www-form-urlencod) —–data 后跟字典
    eg.1: 带参数的查询接口
url="https://api.wl1688.net/iotc/getway"   #请求连接
headers={
"Content-Type": "application/json;charset=UTF-8"
}  #请求头,默认基本上是这个
data={
"currentPage":1,
"pageSize":1000
} #根据实际的填写
try:
   r = requests.post(url,headers=headers, data=json.dumps(data))
   print(r)
except requests.exceptions.RequestException as e:
   print('请求失败')

 eg.2: 带账号名密码的登录接口
url="https://api.wl1688.net/iotc/getway"   #请求连接
headers={
"Content-Type": "application/json;charset=UTF-8"
}  #请求头,默认基本上是这个
body={
"currentPage":1,
"pageSize":1000
} #根据实际的填写
try:
   r = requests.post(url,headers=headers, data=json.dumps(body))
   print(r)
except requests.exceptions.RequestException as e:
   print('请求失败')
  1. 纯文本格式(raw)
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 = '''<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getSupportCityString xmlns="http://WebXml.com.cn/">
      <theRegionCode>string</theRegionCode>
    </getSupportCityString>
  </soap:Body>
</soap:Envelope>''')
print(res.text)

~ xml格式 —-data 后跟字符串

~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正文的接口使用第一种方式,除非是较长的字符串
3. 复合式表单(multipart/form-data )

——上传二进制文件 —- 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)

原文地址:http://www.cnblogs.com/jubai/p/16919381.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性