我正在編寫一些腳本來從JIRA問題下載附件。作爲一個概念驗證,我使用cURL(通過Cygwin 64位在Windows機器上)瀏覽了JIRA API,並能夠使用以下cURL命令對問題進行身份驗證和檢索(以JSON格式):可以通過cURL訪問JIRA API但不需要
curl -u username:password -k -X GET https://jira.localhost.com/jira/rest/api/2/issue/{issuekey}
但是,一旦我(使用請求模塊)開始在Python腳本相同的請求將不再經過
import requests
from requests.auth import HTTPBasicAuth
r = requests.get("https://jira.wgt.com/jira/rest/api/2/issue/{issueKey}", auth = HTTPBasicAuth(username, password), verify = False)
print response.status_code
print response.text
它打印:
404
{"errorMessages":["Issue Does Not Exist"],"errors":{}}
使用查爾斯我也能夠看到服務器已經返回301錯誤(可能從重定向https到http?)。也許請求無法正確處理重定向?關於如何處理這個任何投入將是巨大的
如果涉及重定向,很可能(如果您的請求是2.3.0),我們會自動爲您的安全性剝離身份驗證。你應該檢查response.history,如果有響應,請檢查他們的請求頭。同樣,您可以檢查此響應的標題並查找「授權」。很有可能它來自一個重定向請求的頭字典,但不是發送給最終響應的請求。 –