欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用requests?POST提交一個鍵多個值方式

 更新時間:2022年02月14日 08:43:05   作者:win_turn  
這篇文章主要介紹了python使用requests?POST提交一個鍵多個值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用requests POST提交一個鍵多個值

問題

在使用POST提交數(shù)據(jù)時,想實現(xiàn)下面這種情況:

requests.post(url, data={'interests':'football','interests':'basketball'})

用這種方式肯定是錯誤的,因為字典中的key是唯一的。

解決方法

使用元組列表

代碼如下:

import requests
url = 'http://httpbin.org/post'
r = requests.post(url, data=[('interests', 'football'), ('interests', 'basketball')])
r.json()['form']

requests庫的post請求4種類型參數(shù)

用python來驗證接口正確性,主要流程有:

  • 1 設置url
  • 2 設置消息頭
  • 3 設置消息體
  • 4 獲取響應
  • 5 解析相應
  • 6 驗證數(shù)據(jù)

Content-Type的格式有四種:分別是application/x-www-form-urlencoded(這也是默認格式)、application/json、text/xml以及multipart/form-data格式。

1、application/x-www-form-urlencoded數(shù)據(jù)格式

請看代碼:

datas = {'parameter1':'12345','parameter2':'23456'}
r = requests.post('http://example.com',data=datas)
print(r.content)
print(r.status_code)

解說:Reqeusts支持以application/x-www-form-urlencoded數(shù)據(jù)格式發(fā)送post請求,只需要將請求的參數(shù)構(gòu)造成一個字典,然后傳給requests.post()的data參數(shù)即可。

2、application/json數(shù)據(jù)格式 


application/json格式的請求頭是指用來告訴服務端post過去的消息主體是序列化后的 JSON 字符串。

請看帶代碼:

url = 'http://www.example/post'
s = json.dumps({'key1': 'value1', 'key2': 'value2'})
r = requests.post(url, data=s)
print (r.text)

區(qū)別:

這里我們可以發(fā)現(xiàn)Requests模擬post請求時,請求頭格式為application/x-www-form-urlencoded與application/json的主要差別在于請求主體的構(gòu)造格式(前者是鍵值對,后者是JSON串),前者直接用字典傳入,后者用json.dumps()函數(shù)將字典轉(zhuǎn)為JSON串即可。

3、text/xml數(shù)據(jù)格式

請看代碼:

xml = """my xml"""
headers = {'Content-Type': 'application/xml'}
requests.post('http://www.example.com', data=xml, headers=headers)

或者把xml作為一個文件來傳輸:

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數(shù)據(jù)格式

除了傳統(tǒng)的application/x-www-form-urlencoded表單,我們另一個經(jīng)常用到的是上傳文件用的表單,這種表單的類型為multipart/form-data,multipart/form-data主要用于文件上傳,當我們使用它時,必須讓 form表單的enctype 等于 multipart/form-data

直接來看一個請求示例,主要:

請看代碼(實現(xiàn)上傳本地的test.txt文件):

import requests?
files = {"file": open("C:/Users/Administrator/Desktop/test.txt", "rb")}
r = requests.post("http://httpbin.org/post", files=files)?
print(r.text)

具體請看實際例子:

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()
# 驗證數(shù)據(jù)
assert str(info['answer'])=='reject'

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)笑臉檢測+人臉口罩檢測功能

    Python實現(xiàn)笑臉檢測+人臉口罩檢測功能

    這篇文章主要介紹了Python實現(xiàn)笑臉檢測+人臉口罩檢測,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 一文教會你用Python獲取網(wǎng)頁指定內(nèi)容

    一文教會你用Python獲取網(wǎng)頁指定內(nèi)容

    Python用做數(shù)據(jù)處理還是相當不錯的,如果你想要做爬蟲,Python是很好的選擇,它有很多已經(jīng)寫好的類包,只要調(diào)用即可完成很多復雜的功能,下面這篇文章主要給大家介紹了關(guān)于Python獲取網(wǎng)頁指定內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • python如何調(diào)用php文件中的函數(shù)詳解

    python如何調(diào)用php文件中的函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于python如何調(diào)用php文件中函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Numpy中Meshgrid函數(shù)基本用法及2種應用場景

    Numpy中Meshgrid函數(shù)基本用法及2種應用場景

    NumPy包含很多實用的數(shù)學函數(shù),涵蓋線性代數(shù)運算、傅里葉變換和隨機數(shù)生成等功能,下面這篇文章主要給大家介紹了關(guān)于Numpy中Meshgrid函數(shù)基本用法及2種應用場景的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)

    Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)

    這篇文章主要介紹了Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python3.5裝飾器原理及應用實例詳解

    Python3.5裝飾器原理及應用實例詳解

    這篇文章主要介紹了Python3.5裝飾器原理及應用,結(jié)合具體實例形式詳細分析了Python3.5裝飾器的概念、原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Python操作Word批量生成文章的方法

    Python操作Word批量生成文章的方法

    這篇文章主要介紹了Python操作Word批量生成文章的方法,需要的朋友可以參考下
    2015-07-07
  • 用Python Flask創(chuàng)建簡潔高效的URL短鏈接服務

    用Python Flask創(chuàng)建簡潔高效的URL短鏈接服務

    本文介紹了如何使用Python Flask框架創(chuàng)建URL短鏈接服務。通過詳細的步驟和代碼示例,讀者將學會如何搭建一個高效的URL縮短服務,包括生成短鏈接、重定向、還原長鏈接等功能。本文還介紹了如何使用Redis數(shù)據(jù)庫實現(xiàn)短鏈接的存儲和管理和如何優(yōu)化短鏈接的訪問速度和可靠性
    2023-04-04
  • 基于Python實現(xiàn)人臉識別相似度對比功能

    基于Python實現(xiàn)人臉識別相似度對比功能

    人臉識別技術(shù)是一種通過計算機對人臉圖像進行分析和處理,從而實現(xiàn)自動識別和辨認人臉的技術(shù),隨著計算機視覺和模式識別領域的快速發(fā)展,人臉識別技術(shù)取得了長足的進步,本文給大家介紹了基于Python實現(xiàn)人臉識別相似度對比功能,感興趣的朋友可以參考下
    2024-01-01
  • Python3 tkinter 實現(xiàn)文件讀取及保存功能

    Python3 tkinter 實現(xiàn)文件讀取及保存功能

    tkinter是一個跨平臺的GUI庫,開發(fā)的程序可以在win,linux或者mac下運行,tkinter是python自帶的GUI庫,是對圖形庫TK的封裝。本文通過實例代碼給大家介紹Python3 tkinter 實現(xiàn)文件讀取及保存功能,感興趣的朋友跟隨小編一起看看吧
    2019-09-09

最新評論