我正在使用Python 2.7将一些数据发布到服务器:虽然这适用于Linux和OS X,但在Windows中它会继续上传超过4分钟 然后放弃“错误500 ”。 但只有文件> 1MB。 在服务器端,由于文件传输损坏而生成错误。 我也试过Python 2.5,在虚拟机和两个不同的本机Windows环境中运行它。 Windows版本是Win7 x64。
CODE:
data = {
'title': title,
'file': open(filename),
'filename': filename
}
datamulti, headers = multipart_encode(data)
request = urllib2.Request(url, datamulti, headers)
print(result.read())
答案 0 :(得分:2)
请改为尝试:
data = {
'title': title,
'file': open(filename, 'rb'),
'filename': filename
}
这将使文件以二进制模式而不是文本模式打开。
答案 1 :(得分:1)
这是一个在win32中测试的工作版本:
data = {
'title': title,
'file': open(filename, 'rb'),
'filename': filename
}
datamulti, headers = multipart_encode(data)
request = urllib2.Request(url, datamulti, headers, None, True)
print urllib2.urlopen(request).read()