前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习笔记(五) requets多种请求参数

Python学习笔记(五) requets多种请求参数

作者头像
java攻城狮
发布2020-10-10 16:33:01
6230
发布2020-10-10 16:33:01
举报
文章被收录于专栏:个人积累个人积累

Python学习笔记(五) requets多种请求参数

1. application/x-www-form-urlencoded数据格式

代码语言:javascript
复制
  url = 'http://api.newibao.com/web/essay/publicEssayList'
  param = {
    'page':1,
    'size':64
  }
  headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36',
    'Accept-Encoding': 'gzip, deflate'
  }
  
  req = request.get(headers=headers,url=url,params=param)
  req.encoding ='utf-8' # 不是必要
  text = req.json()
  print(text)

2. application/json数据格式

代码语言:javascript
复制
self.target ='https://www.logosc.cn/api/searchIconsByKeywords' 
self.server = 'https://www.logosc.cn/'
param = {"page": 2, "keywords": "团队", "type": "", "tag_id": 0}
self.param = json.dumps(param)


self.headers ={
    'accept': "application/json, text/plain, */*",
    'accept-encoding': 'gzip, deflate, br',
    'authorization': 'Bearer',
    'content-type': 'application/json;charset=UTF-8',
    'cookie': 'Hm_lvt_afb69c6fd73381e3567a9cf3690b9aaa=1600064493; XSRF-TOKEN=eyJpdiI6ImdQMFJ2eWk1cCtwNEZGQlRVdkxOOHc9PSIsInZhbHVlIjoidHgwcEF2eElndmZSK2FBc3JGVVwvalMxT1pPZzlcL3hSbFdvVmI2VjhGcGErMzl6RWUzK3BXSk9mTnZROGVsdXpLUUxPTklqZHZLUjZKWXdpXC9vWU9DeEE9PSIsIm1hYyI6IjliMTNlMGQ3N2U0MGNmYjljZDI5NTg1NWFlM2IxNzRkNDJlZDYxNDg3OTVkMmNkZmI4N2FjMzBhZGJiNWFiNzAifQ%3D%3D; laravel_session=eyJpdiI6IlRzNTVTMFRjVGJMSWZnSVhsQlVZTmc9PSIsInZhbHVlIjoiQ3JVVE9ZRlZZSTJRdkI5TFBVQkxiZDJBSTNnZUZNZ3c0NFBQWkVTY215NVBWZ0pjazZZekNBWDVXYW1yYmMyTmY4dE9ZR0VxMmxvVHlFMEFFWVNyZEE9PSIsIm1hYyI6IjM0MjZjNDA4ZjQyZjVhYTdlNmQ4YWI0ZWQzNDc3ZTBhNGM2NWRlYjVkZDRlMzY4OWUwMjI0NmYwNGQyYmE2YzMifQ%3D%3D; Hm_lpvt_afb69c6fd73381e3567a9cf3690b9aaa=1600065090',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'
}

req = requests.post(url=self.url,data=self.param,headers=self.headers)

3. text/xml数据格式

1. xml字符串

代码语言:javascript
复制
xml = """my xml"""
headers = {'Content-Type': 'application/xml'}
requests.post('http://www.example.com', data=xml, headers=headers)

2. 读取xml文件

代码语言:javascript
复制
import requests

def request_ws(request):
with open(archivo_request,"r") as archivo:
    request_data = archivo.read()

target_url = "http://127.0.0.1:8000/?wsdl"

headers = {'Content-type':'text/xml'}

data_response = requests.post(target_url, data=request_data, headers=headers)

4 multipart/form-data数据格式

表单提交

代码语言:javascript
复制
import requests
import json
# 设置URL
url = "http://demo.9meikf.cn/usystem/auto/getAnswer.do"
# 设置消息头
headers = {
    "Cookie":"JSESSIONID=EA01FF2B025861F39E29712C97F7DF69;CASTGC=TGT-136-bLQMf0CAikK4BGaydOfIeKd6tWpZQEznJ2ZWdcVl9ofI4LiaQb-cas01.example.org",
    "Content-Type":"application/json"
    }
# 设置消息体
data = {"companyId":"48622",
        "nodeId":6,
        "question":"不需要",
        "templateId":"c6f5ad67fc2c11e8a11800163e086942"}
# 获取相应
response=requests.post(url,headers=headers,data=json.dumps(data))
print("Status code:",response.status_code)
print(response.text)
# 解析相应
info=response.json()
# 验证数据
assert str(info['answer'])=='reject'

文件上传

代码语言:javascript
复制
import requests 
files = {"file": open("C:/Users/Administrator/Desktop/test.txt", "rb")}
r = requests.post("http://httpbin.org/post", files=files) 
print(r.text) 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python学习笔记(五) requets多种请求参数
    • 1. application/x-www-form-urlencoded数据格式
      • 2. application/json数据格式
        • 3. text/xml数据格式
          • 1. xml字符串
          • 2. 读取xml文件
        • 4 multipart/form-data数据格式
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档