問題タブ [urllib]

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.

0 投票する
3 に答える
10377 参照

python - TOR ネットワークを介して urllib リクエストをルーティングする方法は?

TOR ネットワークを介して urllib リクエストをルーティングする方法は?

0 投票する
3 に答える
11017 参照

gzip - Python 3でgzipされたサーバー応答を解凍する最良の方法は何ですか?

私はこれがうまくいくと思っていました:

しかし、そうではありません。Dive Into Pythonはこの例で StringIOを使用していますが、Python 3 にはそれがないようです。それを行う正しい方法は何ですか?

0 投票する
2 に答える
6678 参照

python - Python: 大きなファイルをローカル パスにダウンロードし、カスタム http ヘッダーを設定する

http URL からローカル ファイルにファイルをダウンロードしようとしています。ファイルは十分に大きいので、ファイル全体を単一の巨大な文字列としてではなく、ダウンロードしてチャンクに保存したいと思いread()ます。write()

のインターフェースは、urllib.urlretrieve本質的に私が欲しいものです。ただし、経由でダウンロードするときにリクエストヘッダーを設定する方法がわかり urllib.urlretrieveません。これは、私が行う必要があることです。

を使用すると、そのオブジェクトurllib2を介してリクエスト ヘッダーを設定できます。ただし、ファイルをディスク上のパスに直接ダウンロードするためRequestの API は見当たりません。代わりに、ループを使用して返されたデータをチャンクで反復処理し、それらを自分でファイルに書き込み、完了したらチェックする必要があるようです。urllib2urlretrieve

urllib.urlretrieveのように機能するが、リクエストヘッダーを渡すことができる関数を構築する最良の方法は何でしょうか?

0 投票する
2 に答える
1419 参照

python - Python/urllib が突然正常に動作しなくなりました

学校でクラスの開始を監視するための小さなツールを作成しています。

数分ごとに各部門から現在のクラスの空き状況を取得する Python スクリプトを作成しました。

大学のサイトがこれを返し始めるまで、スクリプトは適切に機能していました。

Uni が私のサーバーをブロックしたに違いありません。それは、他の PC から直接 URL にアクセスしたときに得られる出力だからです。しかし、ユニのサイトで POST を実行する中間フォームを通過すると、そのメッセージが表示されません。

私がリクエストしている URL はhttps://s4.its.unc.edu/SISMisc/SISTalkerServletです

これは私のpythonコードがどのように見えるかです:

私は本当に困惑しています!Python が適切なリクエストを送信していないようです。最初は適切な投稿データを送信していないと思っていましたが、URL をローカル ボックスに変更したところ、Apache が受け取った投稿データは問題ないようでした。

システムが実際に機能しているのを見たい場合は、https://s4.its.unc.edu/SISMisc/browser/student_pass_z.jspに移動し、[ゲストとして入力] ボタンをクリックしてから、[コースの利用可能性] を探します。 . (これで、私がこれを作成する理由がわかりました!)

最も奇妙なことは、これが午前 11 時まで機能していたことです。以前にも同じエラーが発生しましたが、数分間しか続きませんでした。これは、ユニによるサーバーのブロックよりも、どこかで問題があることを示しています。

更新 提案に応じて、より正当なリファラー/ユーザーエージェントで遊んでみました。同じ結果です。これは私が試したものです:

0 投票する
3 に答える
13973 参照

python - PayPal への Python インターフェイス - urllib.urlencode 非 ASCII 文字の失敗

PayPal IPN 機能を実装しようとしています。基本的なプロトコルは次のとおりです。

  1. クライアントは私のサイトから PayPal のサイトにリダイレクトされ、支払いが完了します。彼は自分のアカウントにログインし、支払いを承認します。
  2. PayPal がサーバー上のページを呼び出し、詳細を POST として渡します。詳細には、人の名前、住所、支払い情報などが含まれます。
  3. 上記で渡されたすべてのパラメーターと、値が「_notify-validate」の「cmd」と呼ばれる追加のパラメーターを返す処理ページから、PayPal のサイトの URL を内部的に呼び出す必要があります。

PayPal から送信されたパラメーターを urllib.urlencode しようとすると、次のようになります。

urlencode が ASCII エンコーディングを行うこと、および場合によっては、ユーザーの連絡先情報に非 ASCII 文字が含まれることがあることを理解しています。これは理解できます。私の質問は、urllib2.urlopen(req) (または他の方法) を使用して URL に POST するために非 ASCII 文字をエンコードする方法です。

詳細:

PayPal の元のリクエストのパラメーターを次のように読み取りました (GET はテスト用です)。

処理ページから PayPal にリクエストを送り返すために使用するコードは次のとおりです。

明らかに、問題が発生するのは、誰かの名前、住所、または PayPal 支払いに使用されるその他のフィールドが ASCII の範囲に収まらない場合のみです。

0 投票する
2 に答える
16790 参照

python - Python3urllibのデバッグ出力をオンにする

Python 2では、次のようにしてurllibからデバッグ出力を取得することができました。

ただし、Python 3では、これはに移動されたようです

ただし、http.clientを直接使用するのではなく、urllibを使用しています。httpリクエストがこのようにデバッグ情報を表示するように設定するにはどうすればよいですか?

これが私がこれまでに使用しているものです。デバッグ情報を取得できるようにしたい場合、続行するための最良の方法は何ですか?

0 投票する
6 に答える
111095 参照

python - Python:urllib2.urlopen呼び出しからHTTPヘッダーを取得しますか?

呼び出しが行われ urllib2たときにページ全体をフェッチしますか?urlopen

ページを取得せずにHTTP応答ヘッダーを読みたいだけです。urllib2HTTP接続を開き、その後実際のHTMLページを取得するように見えます...それとも、urlopen呼び出しでページのバッファリングを開始するだけですか?

0 投票する
2 に答える
1183 参照

buffer - Python 2.6でWebからバイナリファイルを保存するための最もメモリ効率の良い方法は?

Python 2.6とurllibを使用してWebからバイナリファイルをダウンロード(および保存)しようとしています。

私が理解しているように、read()、readline()、readlines()は、ファイルのようなオブジェクトを読み取る3つの方法です。バイナリファイルは実際には改行に分割されていないため、read()とreadlines()はファイル全体をメモリに読み込みます。

ランダムなread()バッファサイズを選択することは、このプロセス中のメモリ使用量を制限するための最も効率的な方法ですか?

すなわち

read(1000000)を選択したのは、それが機能し、RAMの使用量を抑えたからです。生のネットワークバッファを使用している場合、転送速度が低すぎるとバッファが枯渇する可能性があるため、ランダムな量を選択するのは悪いことだと思います。しかし、urllibはすでに低レベルのバッファリングを処理しているようです。

それを念頭に置いて、任意の数を選択しても問題ありませんか?もっと良い方法はありますか?

ありがとう。

0 投票する
8 に答える
70433 参照

python - urllib.urlretrieve が成功したかどうかを知る方法は?

urllib.urlretrieveファイルがリモート http サーバーに存在しない場合でも、サイレントに戻ります。指定されたファイルに html ページを保存するだけです。例えば:

abc.jpg が google.com サーバーに存在しなくても、生成されabc.jpgたファイルは有効な jpg ファイルではなく、実際には html ページです。返されたヘッダー (httplib.HTTPMessage インスタンス) を使用して、取得が成功したかどうかを実際に判断できると思いますが、httplib.HTTPMessage.

誰でもこの問題に関する情報を提供できますか?