[英]Python : what is the equivalent python's requests.posts command for curl with --data-urlencode
我正在嘗試使用python使用request.post將一些數據發布到服務器。 但是我的請求在curl命令中,我需要將其轉換為python的request.post。 但是這里的問題是curl命令與--data-urlencode一起使用,我沒有找到任何解決方案來將--data-urlencode轉換為pythons代碼。 請幫助我將下面的curl命令轉換為pythons命令。
curl命令是:
curl https://example.com/api/version1/cert/abccsr \
-u {API_KEY}:{API_KEY_SECRET} \
-X POST \
-d company="xyz" \
-d emp_name="abcdef" \
--data-urlencode "abccsr=azlkjdllksdl+jl8lksehsd8vYZ7lo..."
我嘗試使用以下python命令在數據內部使用--data-urlencode。 但它不起作用。 我不確切地知道如何將該數據-urlencode轉換為python request.post。 請讓我知道如何將帶有--data-urlencode的curl命令轉換為python的請求。
mno = "azlkjdllksdl+jl8lksehsd8vYZ7lokhkjhdohs99kjhgsadjkahgfjhgsjhgdsjhwggfuy48992lkjf+jgskjhgsdjgasd1983kjjgds9hd893;iyajhf9ljasiulfljgwwiugfejgqwoiug"
data = [
('company', 'xyz'),
('emp_name', 'abcdef'),
('employ_id', 'emp_'+str(i)),
('--data-urlencode', "abccsr=" + mno )
]
response = requests.post('https://example.com/api/version1/cert/abccsr', data=data, auth = ('API_KEY', 'API_KEY_SECRET'))
只需先使用quote_plus
對數據進行編碼:
import urllib.parse
data = [
('company', 'xyz'),
('emp_name', 'abcdef'),
('employ_id', 'emp_'+str(i)),
("abccsr", urllib.parse.quote_plus(mno))
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.