0
我在Python中使用requests
來通過POST發送文件。 我的代碼如下所示:通過POST發送文件而無需在Python中進行內容處理
headers = {'Content-Type': 'application/x-tar',
'Content-Length': tar_size}
r = requests.post(server,
files={"file": (tar_name, open(tar_name, 'rb'))},
headers=headers)
在從另一個客戶端(C語言編寫)的文件在同一臺服務器都發送相同的方式。當body_file(的WebOb的東西在這裏看到http://docs.webob.org/en/stable/api/request.html)被讀取,從C客戶端讀取文件,但是從我在Python客戶真正的文件prepened有:
--2a95cc93056b45e0b7c3447234788e29
Content-Disposition: form-data; name="file"; filename="filename.tar"
是否有某種方式來阻止我的客戶發送這些東西?或者某種方式如何修復服務器,以便它可以從C客戶端和我的客戶端讀取(儘管看起來我們發送了一些不同的消息)
你的意思是你想發送的只是字節,沒有別的? HTTP頭怎麼樣? – Bemmu
在我看來,多部分/表單數據編碼確實需要「Content-Disposition」東西,因此C實現是不正確的,還是定義了自定義客戶端和服務器之間的不同協議?更有用的信息在這裏:http://stackoverflow.com/questions/8659808/how-does-http-file-upload-work – Bemmu