問題タブ [urllib2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - https および http 認証を使用する pywikipedia ボット
ボットがイントラネット上の MediaWiki インストールにログインするのに問題があります。ウィキを保護する http 認証によるものだと思います。
事実:
- wiki ルートはhttps://local.example.com/mywiki/です。
- Web ブラウザーで Wiki にアクセスすると、企業の資格情報を求めるポップアップが表示されます (これは基本的なアクセス認証だと思います)。
これは私のuser-config.pyにあるものです:
これは私が mywiki_family.py に持っているものです:
login.py -v -v を実行すると、次のようになります。
(「/mywiki」ではなく「local.example.com/w」になっている理由がわかりません。)
example.com/wiki ではなく example.com に対して認証しようとしているのではないかと考えたので、認証行を次のように変更しました。
しかし、IIS から HTTP 401.2 エラーが返されます。
Web サーバーが受け入れるように構成されていない WWW-Authenticate ヘッダー フィールドを Web ブラウザーが送信しているため、指定した資格情報を使用してこのディレクトリまたはページを表示する権限がありません。
これを機能させる方法についての助けをいただければ幸いです。
更新家族ファイルを修正した後、次のように表示されます。
サイト mywiki:en の情報を取得しています ('http エラー', 401, '無許可', ) 警告: 「https://local.example.com/mywiki/index.php?title=Non-existing_page&action=edit&useskin=を開けませんでした」モノブック」。サーバーまたは接続がダウンしている可能性があります。1 分後に再試行しています...
プランの urllib2.ulropen 呼び出しで HTTP ヘッダーを調べたところ、WWW-Authenticate: Negotiate WWW-Authenticate: NTLM を使用しています。私はurllib2を推測しているので、pywikipediaはこれをサポートしていませんか?
更新これを機能させるのに役立つおいしい報奨金を追加しました。python-ntlm を使用して認証できます。これをpywikipediaに統合するにはどうすればよいですか?
python - Pythonurllib2をredirectとkeeppostメソッドに従わせる方法
urllib2を使用してデータをフォームに投稿しています。問題は、フォームが302リダイレクトで応答することです。Python HTTPRedirectHandlerによると、リダイレクトハンドラーはリクエストを受け取り、POSTからGETに変換し、301または302に従います。POSTメソッドとオープナーに渡されたデータを保持したいと思います。新しいリクエストにdata=req.get_data()を追加するだけで、カスタムHTTPRedirectHandlerを試行できませんでした。
これは以前に行われたことがあると確信しているので、投稿しようと思いました。
注:これはこの投稿とこれに似ていますが、POSTデータを保持したいだけのリダイレクトを防ぎたくありません。
これが機能しない私のHTTPRedirectHandlerです
python - Python urllib2 URLError 例外?
以前に Windows XP マシンに Python 2.6.2 をインストールし、次のコードを実行しました。
次のエラーが表示されます。
python - urllib2応答のデータを覗き見することは可能ですか?
HTTP応答で文字エンコードを検出する必要があります。<meta http-equiv='content-type'>
これを行うには、ヘッダーを確認します。それがcontent-typeヘッダーに設定されていない場合は、応答を確認して" "ヘッダーを探す必要があります。次のような外観と動作をする関数を記述できるようにしたいと思います。
ただし、「detect_html_encoding」メソッドでresponse.read()を実行すると、関数の呼び出し後の後続のresponse.read()は失敗します。
応答を確認したり、読んだ後に巻き戻したりする簡単な方法はありますか?
python - urllib2 で response.info().getencoding() の実装が壊れていますか?
次の python セッションでの getencoding の出力は「ISO-8859-1」になると思います。
これは python バージョン 2.6 ('2.6 (r26:66714, Aug 17 2009, 16:01:07) \n[GCC 4.0.1 (Apple Inc. build 5484)]' 具体的には) です。
python - urlopen、BeautifulSoup、および UTF-8 の問題
Web ページを取得しようとしているところですが、なぜか HTML ファイルに外国語の文字が埋め込まれています。「ソースの表示」を使用すると、この文字は表示されません。
私も試しました...
このエラーを発生させずに、この Web ページを BeautifulSoup に読み込むにはどうすればよいですか?
python - 壊れた URL の修正
「壊れた」URLを修正するためのライブラリを知っている人はいますか。のようなURLを開こうとすると
urllib2.urlopen がチョークし、HTTPError トレースバックが表示されます。この種のものを修正できるライブラリを知っている人はいますか?
python - urllib2を使用したプロキシ
私は次のURLを開きます:
site = urllib2.urlopen('http://google.com')
そして、私がやりたいのは、どこかで私に言っているプロキシと同じ方法で接続することです。
site = urllib2.urlopen('http://google.com', proxies={'http':'127.0.0.1'})
しかし、それもうまくいきませんでした。
urllib2にプロキシハンドラーのようなものがあることは知っていますが、その関数を思い出せません。
python - urllib2でurllib2.HTTPErrorが発生し、urllibでエラーが発生しないのはなぜですか?
私は次の簡単なコードを持っています:
このコードは、次のエラーメッセージを生成します。
しかし、urllib2をurllibに置き換えても、エラーメッセージは表示されません。誰かがこの振る舞いを説明できますか?