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.
精彩评论