Python请求上载文件-413请求实体太大

Python请求上载文件-413请求实体太大,python,Python,我有以下脚本,可以将文件上载到bestream.tv。 这不适用于95MB以上的文件。我们可以做出什么改变 import requests import re sessionObj = requests.session() sessionObj.post('http://bestream.tv/login.html', data={'loginUsername':'my_user', 'loginPassword':'my_pass', 'submitme':'1'}) filehandle

我有以下脚本,可以将文件上载到bestream.tv。 这不适用于95MB以上的文件。我们可以做出什么改变

import requests
import re

sessionObj = requests.session()
sessionObj.post('http://bestream.tv/login.html', data={'loginUsername':'my_user', 'loginPassword':'my_pass', 'submitme':'1'})
filehandle = open('Diabolik Lovers - 12.mp4', 'rb')

resp = sessionObj.get('http://bestream.tv/account_home.html')

url_form = re.search('url: \'(http:\/\/.*)?\'', resp.text).group(1)
sessionid = re.search('_sessionid:\s\'(.*)?\', cTracker:', resp.text).group(1)
ctracker = re.search('cTracker:\s\'(.*)?\', maxChun', resp.text).group(1)

r = sessionObj.post(url_form, data={'_sessionid':sessionid, 'folderId':'', \
                    'cTracker':ctracker, 'maxChunkSize':'100000000'}, files={'files[]':(filehandle.name, filehandle)})

print(r.text)
这将打印以下内容:

413 Request Entity Too Largue
要从web上传文件,我在chrome->Network中获得以下结果:

Accept:application/json, text/javascript, */*; q=0.01
Content-Disposition:attachment; filename="Diabolik%20Lovers%20-%206.5.mp4"
Content-Range:bytes 0-99999999/168152948
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryHNdI5JvVzIVROkWQ
Origin:http://bestream.tv
Referer:http://bestream.tv/account_home.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36


Accept:application/json, text/javascript, */*; q=0.01
Content-Disposition:attachment; filename="Diabolik%20Lovers%20-%206.5.mp4"
Content-Range:bytes 100000000-168152947/168152948
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryfsXuVqiBMXo1Vtn7
Origin:http://bestream.tv
Referer:http://bestream.tv/account_home.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36
等等,直到你上传完文件


所以我暗示它每100000000字节增加一次。我应该如何修改我的脚本来执行相同的操作?

您得到的错误是web服务器告诉您,实际上,您不能上载更大的文件。服务器接受的请求的大小取决于服务器管理员,而不是客户机(您的代码)的控制

我假设,因为
请求
的文档没有明确说明:使用
maxChunkSize
发布将允许“分块”HTTP传输(另请参见:),这将保持文件大小不变,因为分块在另一个抽象层上


我担心您必须自己分割文件并发布每个片段。

因此我在上传时查看了web和网络行为的代码,文件被上传到定义为“maxChunkSize”“100000000”的片段中。我怎样才能把文件分成几部分呢?我更新了答案。你可能把
maxChunkSize
错当成了它不是的东西。我更新了我的问题。我读了你发给我的链接,但我比以前更迷路了,我不知道如何解决我的问题。将你的文件切成不超过web服务器接受的大小的碎片。上传每一个。我该怎么做,让最后一个都在服务器上?