Python urllib2 http -1错误

时间:2010-12-29 11:10:18

标签: python http urllib2

我有这个代码,应该可以工作,但我得到了奇怪的错误,对于其他用户这个代码工作正常。

# -*- coding: utf-8 -*-

import re, sys
import urllib2
import urllib2_file


user_hash='MTggMzc6T1dZgggggzWXpWbVptggggHTXlOV1F5WWgggggggWT0%3D'
text_file = 'sveikinimas.txt'

postdata = { 'type':    '40',
             'description': '',
             'descr': 'Pelėsiais ir kerpėm apaugus aukštai\nTrakų štai garbinga pilis\n....',
             'filetype': '2',
             'name': 'Su šventėmis!',
             'file': {'fd': open(text_file), 'filename': text_file},
             'nfo': ''             
     }

req = urllib2.Request('http://www.linkomanija.net/takefreak.php',postdata)
req.add_header('Cookie', 'login=' + user_hash)
print req
response = urllib2.urlopen(req)
print response
html = response.read()
f = open("out.html", "wb")
f.write(html)
f.close()

此代码适用于其他用户,但我收到了奇怪的错误:

<urllib2.Request instance at 0x0387C698>
Traceback (most recent call last):
  File "C:\Users\drakaz\Desktop\lm\hello.py", line 25, in <module>
    response = urllib2.urlopen(req)
  File "C:\Python26\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python26\lib\urllib2.py", line 392, in open
    response = self._open(req, data)
  File "C:\Python26\lib\urllib2.py", line 410, in _open
    '_open', req)
  File "C:\Python26\lib\urllib2.py", line 370, in _call_chain
    result = func(*args)
  File "C:\Users\drakaz\Desktop\lm\urllib2_file.py", line 207, in http_open
    return self.do_open(httplib.HTTP, req)
  File "C:\Users\drakaz\Desktop\lm\urllib2_file.py", line 298, in do_open
    return self.parent.error('http', req, fp, code, msg, hdrs)
  File "C:\Python26\lib\urllib2.py", line 436, in error
    return self._call_chain(*args)
  File "C:\Python26\lib\urllib2.py", line 370, in _call_chain
    result = func(*args)
  File "C:\Python26\lib\urllib2.py", line 519, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error -1:

1 个答案:

答案 0 :(得分:1)

错误消息来自urllib2_file。我相信,这是不恰当的。您可能只想对其进行评论,并尝试该模块是否未被使用。

我也看到在帖子数据中,你正在里面有另一本字典。情况并非如此。只需拥有该文件的内容即可。读取文件并将内容作为字符串。没有字典,没有文件名。