我想在Python中提交一個多部分POST請求。我環顧四周,發現2個版本:用python請求和urllib2解釋POST多部分請求
- 使用 'reqests'(http://docs.python-requests.org/en/latest/)
- 使用的urllib2(https://docs.python.org/2/library/urllib2.html#module-urllib2)
我想他們都和我能夠成功提交申請。 下面是兩個示例代碼:
---------- --------------請求
resp = requests.post(submiturl, files=multipart_form_data, headers=headers,timeout=5)
其中multipart_form_data包含我的文件對象以及字符串參數
--------------- ------------的urllib2
items.append(MultipartParam(name, value)) fileObj = open(inputFile,'r') items.append(MultipartParam('file', filename=inputFile, fileobj=fileObj)) res = urllib2.urlopen(request)
我的問題:
- 一個我應該使用哪一種?
糾正我,如果我錯了,但我已經看到,同時提交與urllib2我得到HTTPError響應代碼,如500。然而,,而使用「請求」不拋出HTTPError像500級的響應代碼,而不是我必須手動添加條件:
Response.raise_for_status():
或:
resp.status_code != 200: raise Execption(...)
這是正確的還是我錯過了什麼?
謝謝!
這是一個基於意見的問題,但**請求**是最常用的Python庫之一。 * raise_for_status *事物讓你有機會檢查HTTP響應,並在適當的時候重試,通常是這樣。 – cbare
@cbare。 'Response.raise_for_status()'會引發狀態碼200以外的錯誤嗎?另外,你能確認urllib2會在200以外的所有場景中拋出HTTPError嗎?如果是這樣的話,那麼我可以使用urllib2,而不是使用「請求」,並添加Response.raise_for_status() – Dadu