2010-12-29 8 views
1

私はこのコードを持っていますが、動作するはずですが、私は奇妙なエラーが発生しています。このコードはうまく動作します。Python urllib2 http -1エラー

# -*- 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: 
+0

コードをフォーマットしてください。 SOが提供するエディタを使用してください。 –

+0

@marcog:フォーマットをありがとう。 Jack、エラーメッセージはurllib2_fileから何かを示していますが、あなたのコードはそれからの呼び出しを表示しません。なぜあなたはそのimport文をコメントして試してみませんか? –

+0

サーバー側で問題が発生しているようです。あなたはサーバーを稼働していますか? – marcog

答えて

1

エラーメッセージがurllib2_fileからです。私はそれが適切ではないと信じています。コメントして、そのモジュールが使用されていない場合は試してみてください。

また、投稿データには、別の辞書が内部にあります。それは事実ではありません。ちょうどファイルの内容があります。ファイルを読み込み、その内容を文字列にします。辞書なし、ファイル名なし。

+0

それをコメントしようとしましたが、そのモジュールが使用されました。そのモジュールにコメントした後でエラーを投稿しました。 – jack

+0

'' file ':{' fd ':open(text_file)、' filename ':text_file}、 '。間違っています。ファイルを読み込み、その内容を 'file'として渡すだけです。 –

+0

ありがとうございました。 – jack

関連する問題