簡體   English   中英

Python:使用--data-urlencode進行curl等效的python request.posts命令是什么

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM