程序突然停止并抛出URL错误

0 投票
1 回答
564 浏览
提问于 2025-04-17 02:37
 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 个回答

2

如果你无法显示从服务器返回的头部信息,那就是你的服务器把你给断了。

可能是你的请求有问题,但这不太可能。

也有可能是你超出了带宽限制。

还有一种可能是你的请求看起来像是DDOS攻击,因为它们发生得太频繁了。

撰写回答