根據http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3客戶端在POST(在需要此頭的HTTP 1.1服務器上)之前必須等待100(繼續)狀態。HTTP 1.1期望頭握手
我不明白Python如何做到這一點。例如:
conn = httplib.HTTPConnection(url)
conn.putrequest('POST', page)
conn.putheader(...)
conn.putheader('Expect', '100-continue')
conn.endheaders()
現在,我看不出有其他選項,然後發送數據:
conn.send(data)
在這種情況下,我得到的錯誤,請求響應時:
error: [Errno 10053] An established connection was aborted by the software in your host machine
我怎麼能要求狀態100,以便我可以發送數據?
我不認爲'httplib'支持這一(非常好);請參閱[this' requests' ticket](https://github.com/kennethreitz/requests/issues/713)中的討論(特別是*,並且可以以打破httplib *備註的方式儘早關閉套接字)。 – 2013-03-22 11:54:27
如果您讀取異常消息,您將看到連接已中止。網絡好嗎?你拉了網線嗎?有DPI的防火牆可以阻止POST POST請求嗎? – 2013-03-22 11:56:51
我想我們不能期望在這種情況下有意義的例外。我對我的網絡沒有任何問題,例如Java中的相同代碼按預期工作。 – theta 2013-03-22 11:59:50