2011-09-19 3 views
0
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을 사용하고 있습니다. 프로그램은 요청 문 다음에 멈추고 오류를 제공합니다. 오류가 내 네트워크 또는 프로그램의 문제인지 여부를 이해할 수 없습니다. 다시 서버에서 오는 헤더를 표시 할 수없는 경우, 서버가 단순히 당신을 차단했다프로그램이 갑자기 멈추고 던졌습니다. URLERROR

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')> 
+0

"피어에 의한 연결 재설정"은 힌트입니다. 피어 (서버)가 연결을 재설정합니다. –

+0

그러면 파일을 업로드하는 서버 Im이 내 요청을 거부하는 것입니까? – Jonah

+0

"거부"하시겠습니까? 말하기 힘듭니다. 연결이 끊어졌습니다. 왜 그런지 누가 압니까? 상태 코드, 헤더 및 본문을 가져 오려면 "요청"개체의 내용을 읽어야합니다. 그런 다음 ** 업데이트 **하여 (거의) 쓸모없는 스택 추적을 제거하고 실제로 얻은 응답에 대한 흥미로운 사실을 포함 할 수 있습니다. –

답변

2

: 다음은 오류의 추적이다.

귀하의 요청이 좋지 않을 수도 있지만 - 그렇다고 볼 수는 없습니다.

대역폭 제한을 초과했을 수 있습니다.

요청이 너무 자주 발생하기 때문에 요청이 DDoS 공격으로 보일 수 있습니다.

+0

그래, 서버가 제대로 작동하지 않았으므로 그날 고르지 못한 연결이있었습니다. 노력에 대해 언제나 감사드립니다 !!! – Jonah

관련 문제