1

我在尝试使用 put_file 上传文件时得到了这个回溯(来自示例https://www.dropbox.com/developers/start/files#python的源代码)。这个错误是什么意思?处理它的合适方法是什么?

Traceback (most recent call last):
  File "testDRBX.py", line 30, in <module>
    response = client.put_file('magnum-opus.txt', f)
  File "C:\Users\hicom\AppData\Roaming\Python\Python27\site-packages\dropbox\cli
ent.py", line 149, in put_file
    return RESTClient.PUT(url, file_obj, headers)
  File "C:\Users\hicom\AppData\Roaming\Python\Python27\site-packages\dropbox\res
t.py", line 146, in PUT
    return cls.request("PUT", url, body=body, headers=headers, raw_response=raw_
response)
  File "C:\Users\hicom\AppData\Roaming\Python\Python27\site-packages\dropbox\res
t.py", line 111, in request
    r = conn.getresponse()
  File "C:\Python27\lib\httplib.py", line 1027, in getresponse
    response.begin()
  File "C:\Python27\lib\httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "C:\Python27\lib\httplib.py", line 371, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine: ''
4

3 回答 3

1

问题出在 HTTP 标头的 USER-AGENT 中。默认为“OfficialDropboxPythonSDK/1.4”。我在 rest.py(第 55 行)中将其更改为任何其他内容,例如 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'。问题解决了。

于 2012-06-21T08:08:05.353 回答
0

BadStatusLine 表示您的脚本和 Dropbox 服务器之间的连接丢失,可能是由于超时。我认为你需要更快地完成整个过程。

https://forums.dropbox.com/topic.php?id=34037#post-297553

于 2012-11-07T08:34:34.290 回答
0

如果您运行请求太快并且 Dropbox 的服务器速率限制您,Dropbox API 也会导致 BadStatusLine。

我的开发机器速度不够快,无法触发此情况,但 Amazon EC2 实例在快速连续运行 140 个请求时能够触发此情况(列表理解)。

我不认为这是您的情况,但我想为遇到此问题的其他人注意这一点。

于 2012-12-21T05:55:29.953 回答