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

對python中使用requests模塊參數(shù)編碼的不同處理方法

 更新時間:2018年05月18日 09:05:39   作者:M1mory  
今天小編就為大家分享一篇對python中使用requests模塊參數(shù)編碼的不同處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python中使用requests模塊http請求時,發(fā)現(xiàn)中文參數(shù)不會自動的URL編碼,并且沒有找到類似urllib (python3)模塊中urllib.parse.quote("中文")手動URL編碼的方法.研究了半天發(fā)現(xiàn)requests模塊對中文參數(shù)有3種不同的處理方式.

一、requests模塊自動URL編碼參數(shù)

要使參數(shù)自動URL編碼,需要將請求參數(shù)以字典的形式定義,如下demo:

import requests

proxy = {"http":"http://127.0.0.1:8080",
 "https":"http://127.0.0.1:8080"}

def reTest():
 url = "http://www.baidu.com"
 pdict = {"name":"中文測試"}
 requests.post(url = url,data = pdict,proxies = proxy)

效果如下圖,中文被URL編碼正確處理

二、參數(shù)原樣輸出,不需要編碼處理

使用dictionary定義參數(shù),發(fā)送請求時requests模塊會自動URL編碼處理參數(shù).但有些時候可能不需要編碼,要求參數(shù)原樣輸出,這個時候?qū)?shù)直接定義成字符串即可.

import requests

proxy = {"http":"http://127.0.0.1:8080",
 "https":"http://127.0.0.1:8080"}

def reTest():
 url = "http://www.baidu.com"
 pstr1 = "name=中文".encode("utf-8")
 requests.post(url = url,data = pstr1, proxies = proxy)

注:參數(shù)需要utf-8編碼,否則會報錯Use body.encode('utf-8') if you want to send it encoded in UTF-8.

最后效果如下圖,參數(shù)原樣輸出:

三、參數(shù)使用format或%格式化,導致參數(shù)str變成bytes

有些時候直接定義的字符串參數(shù),其中有的參數(shù)是變量,需要format或%格式化控制變量.這個時候會發(fā)現(xiàn)格式化后的參數(shù)變成了bytes.

import requests

proxy = {"http":"http://127.0.0.1:8080",
 "https":"http://127.0.0.1:8080"}

def reTest():
 url = "http://www.baidu.com"
 pstr2 = "name={0}".format("中文".encode("utf-8"))
 requests.post(url = url,data = pstr2, proxies = proxy)

參數(shù)變成了bytes

在該種請求下:

1. 如果參數(shù)需要URL編碼.當參數(shù)少的時候可以使用dict定義.如果參數(shù)太多,dict比較麻煩,可以針對參數(shù)使用urllib.parse.quote("中文")手動encode成URL編碼.

2. 如果中文參數(shù)需要原樣輸出.將參數(shù)格式化完成后再編碼即可.pstr2 = "name={0}".format("中文").encode("utf-8")

以上這篇對python中使用requests模塊參數(shù)編碼的不同處理方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • tornado+celery的簡單使用詳解

    tornado+celery的簡單使用詳解

    今天小編就為大家分享一篇tornado+celery的簡單使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python+Pytorch實戰(zhàn)之彩色圖片識別

    Python+Pytorch實戰(zhàn)之彩色圖片識別

    這篇文章主要為大家詳細介紹了如何利用Python+Pytorch實現(xiàn)彩色圖片識別功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-09-09
  • Python設計模式行為型責任鏈模式

    Python設計模式行為型責任鏈模式

    這篇文章主要介紹了Python設計模式行為型責任鏈模式,責任鏈模式將能處理請求的對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理請求為止,避免請求的發(fā)送者和接收者之間的耦合關系,下圍繞改內(nèi)容介紹具有一點的參考價值,需要的朋友可以參考下
    2022-02-02
  • Python基于隨機采樣一至性實現(xiàn)擬合橢圓(優(yōu)化版)

    Python基于隨機采樣一至性實現(xiàn)擬合橢圓(優(yōu)化版)

    這篇文章主要對上一版的Python基于隨機采樣一至性實現(xiàn)擬合橢圓的優(yōu)化,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的可以了解一下
    2022-11-11
  • python2.7實現(xiàn)FTP文件下載功能

    python2.7實現(xiàn)FTP文件下載功能

    這篇文章主要為大家詳細介紹了python 2.7 實現(xiàn)FTP文件下載功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python利用imshow制作自定義漸變填充柱狀圖(colorbar)

    Python利用imshow制作自定義漸變填充柱狀圖(colorbar)

    這篇文章主要介紹了Python利用imshow制作自定義漸變填充柱狀圖(colorbar),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python中常見的幾種音頻數(shù)據(jù)讀取、保存方式總結(jié)

    python中常見的幾種音頻數(shù)據(jù)讀取、保存方式總結(jié)

    Python是一種非常適合進行音頻處理和音頻分析的語言,因為它有許多強大的庫可以使用,下面這篇文章主要給大家介紹了關于python中常見的幾種音頻數(shù)據(jù)讀取、保存方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • python 并發(fā)編程 多路復用IO模型詳解

    python 并發(fā)編程 多路復用IO模型詳解

    這篇文章主要介紹了python 并發(fā)編程 多路復用IO模型詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python實現(xiàn)煙花小程序

    python實現(xiàn)煙花小程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)煙花小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼

    python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼

    這篇文章介紹了python使用requests.post方法傳遞form-data類型的Excel數(shù)據(jù)的示例代碼,某些post接口,需要發(fā)送multipart/form-data類型的數(shù)據(jù),如何使用python requests來模擬這種類型的請求發(fā)送呢?補充講解了python使用requests post請求發(fā)送form-data類型數(shù)據(jù),一起看看吧
    2024-01-01

最新評論