我在AWS上的NGINX Web服務器後面運行Flask restful API。我用我的Pi中的python模塊打這個。Python請求調用失敗,HTTPS
當我使用HTTP調用api時,一切正常。但我只是鎖定了我的API,所以只有HTTPS是可能的。我改變了我的python模塊使用的UIRL,但現在失敗了。該代碼非常簡單...這裏是一個摘錄:
jsonpkg = {'subscriberID': self.api_login, 'token': self.api_token,
'content': speech_content}
headers = {'Content-Type': 'application/json'}
r = requests.post(self.api_apiurl, data=json.dumps(jsonpkg), headers=headers)
這些值由init init部分正確設置。我正在導入頂部的請求模塊。錯誤消息表明它正在使用python 2.7。但是,當我監視API時,我可以看到它甚至沒有觸及服務器。我可以將瀏覽器指向api並且它的工作正常。
我是否理解python 2.7中的請求模塊不支持https?
我需要爲https發送附加參數嗎?
python是舊的,不支持網站可能需要的SNI(已在2.7.9中實現),或者網站未正確設置並缺少鏈式證書(瀏覽器通常會解決此問題)。使用[SSLLabs](https://www.ssllabs.com/ssltest/analyze.html)檢查您的網站,並查找連鎖問題或SNI要求。簡單地禁用證書驗證不是一個好主意。 –