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

python requests post的使用方式

 更新時間:2023年03月14日 09:16:24   作者:蠍  
這篇文章主要介紹了python requests post的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python模擬瀏覽器發(fā)送post請求

import requests

格式request.post

request.post(url, data, json, kwargs) # post請求格式
request.get(url, params, kwargs) # 對比get請求

發(fā)送post請求 傳參分為

  • 表單(x-www-form-urlencoded)
  • json(application/json)

data參數(shù)支持字典格式和字符串格式,字典格式用json.dumps()方法把data轉(zhuǎn)換為合法的json格式字符串 次方法需要導(dǎo)入json模塊;

import json
json.dumps(data) # data轉(zhuǎn)換成json格式 

或者將data參數(shù)賦值給post方法的json參數(shù),必須為合法json格式,否則沒用,如果有布爾值要小寫,不能有非Unicode字符。

表單方式的post請求(x-www-form-urlencoded)

import requests
url = "https://editor.net/"
data = {"key": "value"} # 字典 外層無引號
resp = requests.post(url,data=data)
print(resp.text)

json類型的post請求

import requests
url = "https://editor.net/"
data = '{"key": "value"}' # 字符串格式 
resp = requests.post(url, data=data)
print(resp.text)

使用字典格式填寫參數(shù),傳遞時轉(zhuǎn)換為json格式

(1)json.dumps()方法轉(zhuǎn)換

import requests
import json
url = "https://editor.net/"
data = {"key": "value"}
resp = requests.post(url, data=json.dumps(data))
print(resp.text)

(2)將字典格式的data數(shù)據(jù)賦給post方法的json參數(shù)

import requests
import json
url = "https://editor.net/"
data = {"key": "value"}
resp = requests.post(url, json=data)
print(resp.text)

python requests post數(shù)據(jù)的幾個問題的解決

最近在用Requests做一個自動發(fā)送數(shù)據(jù)的小程序,使用的是Requests庫,在使用過程中,對于post數(shù)據(jù)的編碼有一些問題,查找很多資料,終于解決。

post數(shù)據(jù)的urlencode問題

我們一般post一個dict數(shù)據(jù)的時候,requests都會把這個dict里的數(shù)據(jù)進(jìn)行urlencode,再進(jìn)行發(fā)送。

但我發(fā)現(xiàn)他用的urlencode默認(rèn)是UTF-8編碼,如果我的網(wǎng)站程序只支持gb2312的urlencode怎么辦呢?

可以引入urllib中的urllib.parse.urlencode進(jìn)行編碼。

from urllib.parse import urlencode
import requests
?
session.post('http://www.bac-domm.com', ? data=urlencode({'val':'中國人民'}, encoding='gb2312'), ?headers = head_content)

避免數(shù)據(jù)被urlencode的問題

有時我們并不希望數(shù)據(jù)進(jìn)行urlencode,怎么辦?

只要在post的data里拼接成字符串就可以了,當(dāng)然在拼接的時候要注意字符串的編碼問題,比如說含有中文時,就應(yīng)該把編碼設(shè)置為utf-8或gb2312

vld = 'val:中國人民'
session.post('http://www.bac-domm.com', ? data=vld.encode('utf-8'), ?headers = head_content)

總結(jié)

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

相關(guān)文章

  • python3使用diagrams繪制架構(gòu)圖的步驟

    python3使用diagrams繪制架構(gòu)圖的步驟

    這篇文章主要介紹了python3使用diagrams生成架構(gòu)圖的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python實(shí)例化對象的具體方法

    python實(shí)例化對象的具體方法

    在本篇文章里小編給大家整理的是關(guān)于python實(shí)例化對象的具體方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 詳解Pytorch如何利用yaml定義卷積網(wǎng)絡(luò)

    詳解Pytorch如何利用yaml定義卷積網(wǎng)絡(luò)

    大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)都是直接通過寫一個Model類來定義的,這樣寫的代碼其實(shí)是比較好懂,也很方便。但是本文將介紹另一個方法:利用yaml定義卷積網(wǎng)絡(luò),感興趣的可以了解一下
    2022-10-10
  • Python的Dict對象源碼分析

    Python的Dict對象源碼分析

    這篇文章主要介紹了Python的Dict對象源碼分析,PyDictObject即字典對象,類似于C++ STL中的map,但STL中以紅黑樹實(shí)現(xiàn),Python中dict以hash表(散列表)實(shí)現(xiàn),需要的朋友可以參考下
    2023-08-08
  • python編程進(jìn)階之異常處理用法實(shí)例分析

    python編程進(jìn)階之異常處理用法實(shí)例分析

    這篇文章主要介紹了python編程進(jìn)階之異常處理用法,結(jié)合實(shí)例形式分析了python異常捕獲、處理相關(guān)語句、使用技巧與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • Python如何讀取PDF文檔(或TXT)

    Python如何讀取PDF文檔(或TXT)

    這篇文章主要介紹了Python如何讀取PDF文檔(或TXT),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 解決pip安裝第三方庫,但PyCharm中卻無法識別的問題for mac

    解決pip安裝第三方庫,但PyCharm中卻無法識別的問題for mac

    這篇文章主要介紹了解決pip安裝第三方庫,但PyCharm中卻無法識別的問題for mac,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Python自動化測試中yaml文件讀取操作

    Python自動化測試中yaml文件讀取操作

    這篇文章主要介紹了Python自動化測試中yaml文件讀取操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python猜數(shù)字小游戲?qū)崿F(xiàn)代碼

    python猜數(shù)字小游戲?qū)崿F(xiàn)代碼

    大家好,本篇文章主要講的是python猜數(shù)字小游戲?qū)崿F(xiàn)代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python中如何自定義函數(shù)

    Python中如何自定義函數(shù)

    這篇文章主要介紹了Python中如何自定義函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論