程序突然停止并抛出URLERROR

时间:2011-09-19 18:42:09

标签: python poster

 from poster.encode import multipart_encode
 from poster.streaminghttp import register_openers

    def picscrazy(str,int):


          register_openers()
          datagen, headers = multipart_encode({"imagefile[]": open(str, "rb")})
          request = urllib2.Request("http://www.picscrazy.com/process.php", datagen, headers)

Str是文件名,int只是另一个标志。 代码是将文件上传到图片托管网站。我正在使用海报Poster来发布帖子请求。程序在请求语句后停止并发出错误。我无法理解错误是在我的网络中还是在程序中出现问题。 以下是错误的追溯:

 Traceback (most recent call last):
  File "C:\Documents and Settings\Administrator\Desktop\for exbii\res.py", line 42, in <module>
    picscrazy(fname,1)
  File "C:\Documents and Settings\Administrator\Desktop\for exbii\res.py", line 14, in picscrazy
    print(urllib2.urlopen(request).read())
  File "C:\Python25\Lib\urllib2.py", line 121, in urlopen
    return _opener.open(url, data)
  File "C:\Python25\Lib\urllib2.py", line 374, in open
    response = self._open(req, data)
  File "C:\Python25\Lib\urllib2.py", line 392, in _open
    '_open', req)
  File "C:\Python25\Lib\urllib2.py", line 353, in _call_chain
    result = func(*args)
  File "C:\Python25\lib\poster\streaminghttp.py", line 142, in http_open
    return self.do_open(StreamingHTTPConnection, req)
  File "C:\Python25\Lib\urllib2.py", line 1076, in do_open
    raise URLError(err)
URLError: <urlopen error (10054, 'Connection reset by peer')>

1 个答案:

答案 0 :(得分:2)

如果您无法显示从服务器返回的标题,那么您的服务器只会将您切断。

可能是你的请求很糟糕 - 但这不太可能。

可能是您超出了带宽限制。

可能是您的请求似乎是DDOS攻击,因为它们发生的频率太高。