我不得不做出了一個Python HTTPS請求,我現在用的請求模塊,試圖讓我的生活更輕鬆。使用請求模塊創建Python HTTPS請求的正確方法?
請求需要有一個標題和3個FORM參數URL編碼。這是我在做什麼:
header = {'Content-type': 'application/x-www-form-urlencoded', 'Authorization':'Basic ' + encoded_string, 'Connection': 'Keep-Alive', 'Host':'host.host.com'}
payload='grant_type=authorization_code&code=' + request.args['code'] + '&state=' + request.args['state'] + '&redirect_uri=http://xxx.xyz.com/request_listener'
url = 'https://serviceprovider.xxx.com/auth/j_oauth_resolve_access_code'
response = requests.post(url, data=payload, headers=header, verify=False)
當我嘗試返回response
的content
或text
,我得到一個空字符串。然而,當我打印的實際response
對象,它說,這是一個<Response [200]>
,但如果這實際上是一個200 OK,然後我張貼過的服務器應該去我指定的REDIRECT_URI,我會得到一個通知那裏。
這沒有發生,我對此感到困惑。
http://docs.python.org/3/library/urllib.request.html#module-urllib.request –
有些事情可以嘗試:使用'curl'手動構建請求,以確保您知道有效請求的內容應該是什麼。如果這有效,那麼你知道在Python中構建或傳遞請求的方式存在問題。將「有效載荷」構建爲字典而不是字符串。嘗試構建準備好的請求,以便在將請求發送到服務器之前檢查請求狀態。 –