Python urllib2 http -1 ошибка - PullRequest
       9

Python urllib2 http -1 ошибка

1 голос
/ 29 декабря 2010

У меня есть этот код, который должен работать, но я получаю странные ошибки, для другого пользователя этот код работает нормально.

# -*- 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 Ответ

1 голос
/ 29 декабря 2010

Сообщение об ошибке от urllib2_file. Я считаю, что это не правильно. Вы можете просто прокомментировать это и попробовать, если этот модуль не используется.

Я также вижу, что в данных постов у вас есть другой словарь внутри. Так не должно быть. Просто имейте содержимое файла. Прочитайте файл и получите его содержимое в виде строки. Нет словарей, нет имен файлов.

...