2017-04-02 47 views
1

我試圖做的Django以下請求: enter image description hereDjango的X WWW的形式進行了urlencoded請求

我試着下面的代碼,但它不工作:

data = {'username': admin, 
     'password': 123, 
     'grant_type': 'password', 
     'client_id': 'xxxx', 
     'client_secret': 'xxxx'} 
headers = {'content-type': 'application/x-www-form-urlencoded'} 
r = requests.post(url, data=data, headers=headers) 

謝謝您的幫助 !

回答

2

默認情況下是表格編碼。

通常,您希望發送一些表單編碼的數據 - 非常類似於HTML 表單。要做到這一點,只需將字典傳遞給數據參數即可。您的 數據字典將在請求 時自動進行表格編碼。

>>> payload = {'key1': 'value1', 'key2': 'value2'} 
>>> r = requests.post("http://httpbin.org/post", data=payload) 
>>> print r.text 
{ 
    "origin": "179.13.100.4", 
    "files": {}, 
    "form": { 
    "key2": "value2", 
    "key1": "value1" 
    }, 
    "url": "http://httpbin.org/post", 
    "args": {}, 
    "headers": { 
    "Content-Length": "23", 
    "Accept-Encoding": "identity, deflate, compress, gzip", 
    "Accept": "*/*", 
    "User-Agent": "python-requests/0.8.0", 
    "Host": "127.0.0.1:7077", 
    "Content-Type": "application/x-www-form-urlencoded" 
    }, 
    "data": "" 
} 

http://docs.python-requests.org/en/v0.10.7/user/quickstart/#make-a-post-request

+0

由於它的偉大工程。所以現在請求被正確執行,但執行請求後出現以下錯誤:{'error':'unsupported_grant_type'} – antoinv10

+0

此錯誤由您的服務返回,請參閱文檔。 –

+0

根據我讀到的內容,如果數據不是以header {「content-type」:「application/x-www-form-urlencoded」}發送的,則返回此錯誤。但是,我發送了這個請求的標題不是? – antoinv10

相關問題