开发者

Python urllib2 http -1 error

I have this code, that supposed to work but I'm getting strange errors, for other user this code works fine.

# -*- 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()

This code works for another user, but I'm getting strange error:

<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:


The error message is from urllib2_file. I believe, it is not proper. You may just wish to comment it and try if it that module is not being used.

I also see that in the post data, you are having another dictionary inside. It should not be the case. Just have the contents of the file. Read the file and have it the content as the string. No dictionaries, no file names.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜