問題タブ [lwp-useragent]

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 投票する
4 に答える
6982 参照

perl - プロキシを経由しないHTTPリクエスト

このコードは、プロキシを介してhttpリクエストを実行するために作成しました。しかし、リクエストはプロキシを使用していないようです。間違ったプロキシを指定しても、OKが返されます。

HTTPリクエストがプロキシ経由で行われたかどうかを確認する方法はありますか?プロキシを使用しないようにするこのコードの問題は何ですか?

0 投票する
1 に答える
1079 参照

perl - 「decoded_content」のダウンロード方法

***レジューム機能を備えた更新されたコード* *

** * ** * **古いコード* ** * ** * ** * ** * ** * *

私はperlの初心者なので、ダウンロードできましdecoded_contentたが、いくつかのエラーが残っています。部分的なファイルがある場合は、ファイルのダウンロードを再開する必要があります。

これは私が試したコードですが、どこから始めればよいかわかりません。したがって、この点に関する簡単な考えは非常に役立ちます。これについて助けてください。

0 投票する
1 に答える
492 参照

multithreading - スレッド間でLWP::UserAgentオブジェクトを共有する方法

異なるスレッドでHTTPリクエストに使用できる共有LWP::UserAgentオブジェクトを作成することは可能ですか?

0 投票する
0 に答える
979 参照

perl - LWP は max_size を設定しますが、それでもコンテンツを取得します

LWP を使用していくつかのサイトからコンテンツを取得していますが、ページ サイズが 1 メガバイトを超える場合は常に、LWP にページのダウンロードを停止させたいと考えています。これは、次のコードで実現されます。

そして、それはうまくいきます。唯一の問題は、ページが 1 MB を超えている場合でも、これまでにダウンロードしたコンテンツを取得できるようにしたいということです。ただし、これを行うたびに (エラーがない場合に LWP でコンテンツを取得する従来の方法):

実際のページのコンテンツではなく、ナンセンスの集まりのようです。max_size を設定し、LWP や WWW::Mechanize で制限に達する前にダウンロードされたものを取得する方法を知っている人はいますか? どうもありがとう!

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

perl - lwpタイムアウトを効果的に処理する

LWPを使用してWebページからコンテンツをダウンロードしていますが、ページを待機する時間を制限したいと思います。これは、次のようにlwpで実行されます。

そして、これは正常に機能しますが、タイムアウトが制限に達すると、タイムアウトしてスクリプトを続行できなくなります。このタイムアウトを適切に処理して、URLにタイムアウトがあったことを記録してから、次のタイムアウトに進むことができるようにしたいと思います。誰かがこれを行う方法を知っていますか?ありがとう!

0 投票する
1 に答える
321 参照

perl - perl WWW::セットの最大サイズを機械化し、それでもコンテンツを取得する

だから私は WWW::Mechanize を使用してページのコンテンツを取得しています。最大サイズを設定したいと思います。また、最大サイズに達した場合は、これまでに取得したコンテンツを取得したいと考えています。LWPでは次のようにできることを知っています:

そして、この時点で 1024 バイトに達したとして$ua->contentも、その時点までに取得した読み取り可能なコンテンツを保持します。WWW::Mechanize は LWP のサブクラスなので、基本的にまったく同じ方法でセットアップできます。

そして、WWW::Mechanize は LWP::UserAgent のサブクラスである$mech->contentため、サイズが 1024 バイトに達するまで取得されたコンテンツを保持すると考えるでしょう。ただし、これを実行して最大サイズに達すると、次のようなコンテンツを WWW::Mechanize オブジェクトから取得します。

スーパークラスの LWP::UserAgent のように、実際に WWW::Mechanize に読み取り可能なものを出力させる方法を知っている人はいますか? 私は WWW::Mechanize が提供する追加機能のいくつかが気に入っているので、このためだけに LWP に切り替えるのではなく、可能な限りそれを使い続けたいと思っています。ありがとう!

0 投票する
1 に答える
1459 参照

perl - Mojolicious ユーザー エージェントの応答から Cookie を抽出する

テスト用に Mojolicious ライブラリの使用を開始しましたが、応答から Cookie を抽出しようとするまで、すべてが正常に機能していました。

私はいくつかの変種を試しました:

ただし、LWP::UserAgent を介して Cookie を抽出できます。ただし、LWP にはいくつかの異なる問題があり、現時点ではそのオプションが機能しません。比較のために、Cookie を抽出する LWP コードを次に示します。

だから私は $url などが正しいことを知っています。

編集:私はストロベリー5.14を使用していることに言及する必要があります

Edit2:セッションIDが適切に処理されているため、Cookieがユーザーエージェントに確実に取り込まれていることにも言及する必要があります。残念ながら、私は (サイトをテストするために) 別の Cookie にアクセスする必要があり、それらにアクセスするための適切な呪文を取得できないようです... これはプログラマーの問題であり、それ以上のものではないと信じています.

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

perl - Perl UTF8 エンコーディング エラー。LWP::UserAgent->decoded_content も Encode::decode も機能しません。他のアイデア?

文字エンコーディングに LWP::Useragent と Encode の両方を使用して Web ページからグローバル アドレスを取り戻そうとすると、perl でエンコーディングの問題が発生します。私はグーグルソリューションを試しましたが、何もうまくいかないようです。Strawberry Perl 5.12.3 を使用しています。

例として、チェコ共和国の米国大使館のアドレス ページ (http://prague.usembassy.gov/contact.html) を取り上げます。私が望むのは、アドレスを引き戻すことだけです:

住所: Tržiště 15 118 01 Praha 1 - Malá Strana Czech Republic

ウェブページのヘッダー文字セットと同じ文字エンコード UTF-8 を使用して正しく表示される Firefox はどれですか。しかし、perl を使用してこれをプルバックしてファイルに書き込もうとすると、Useragent または Encode::decode で decoded_content を使用しているにもかかわらず、エンコーディングが乱れているように見えます。

データに正規表現を使用して、データが印刷されたときにエラーが発生しないことを確認しようとしましたが(つまり、perlで内部的に正しい)、エラーはperlがエンコーディングを処理する方法にあるようです。

これが私のコードです:

そして、ターミナルへの出力は次のとおりです。

コンテンツ タイプ: UTF-8 デコードされていないコンテンツ::
Tr├à┬╛išt├ä┬¢ 15
118 01 プラハ 1 - マラー ストラナ
チェコ共和国 デコードされたコンテンツ::
Tr┼╛išt─¢ 15
118 01 プラハ 1 - マラー ストラナ
チェコ共和国ENCODE::DECODED CONTENT::
Tr┼╛išt─¢ 15
118 01 Praha 1 - Malá Strana
Czech Republic DOUBLE-DECODED CONTENT::Tr┼╛išt─¢ 15
118 01 Praha 1 - Malá StranaCzech Republic アンパサンドがデコードされていないコンテンツで見つかった-デコードされたコンテンツでエンコーディング エラーの可能性が高いアンパサンドが見つかりました - エンコード エラーの可能性が高いアンパサンドが ENCODE::デコードされたコンテンツで見つかりました - 二重デコードされたコンテンツでアンパサンドが見つかりました - エンコード エラーの可能性があります

そしてファイルへ(これは端末とは少し異なりますが、正しくないことに注意してください)。OK WOW - これはスタック オーバーフローでは正しく表示されますが、Bluefish、LibreOffice、Excel、Word、またはコンピューター上の他のものでは表示されません。したがって、データは正しくエンコードされていません。何が起こっているのか本当にわかりません。

コンテンツ タイプ: UTF-8 デコードされていないコンテンツ::
TržištÄ 15
118 01 Praha 1 - Malá Strana
Czech Republic DECODED CONTENT::
Tržiště 15 118
01 Praha 1 - Malá Strana Czech
Republic Malá Strana Czech Republic DOUBLE-DECODED CONTENT::Tržiště 15 118 01 Praha 1 - Malá StranaCzech Republic AMPERSAND FOUND IN UNDECODED CONTENT- LIKELY ENCODING ERROR AMPERSAND FOUND IN DECODED CONTENT- LIKELY ENCODING ERROR AMPERSAND FOUND IN ENCODE::DECODED CONTENT- LIKELY ENCODING ERROR二重にデコードされたコンテンツにアンパサンドが見つかりました - エンコーディング エラーの可能性があります



これをどのように行うことができるかについての指針は本当に感謝しています。

ありがとう、イアン/モンテクリスト

0 投票する
1 に答える
1546 参照

perl - cookie_jar から Cookie 名で Cookie を抽出する

私が苦労しているのは、LWP::UserAgent がアクセサを提供しないため、Cookie の名前を指定することで、cookie_jar 内の Cookie について知りたいことをすべて取得できるからです。cookie_jar に scan() メソッドがあることはわかっていますが、非常に基本的なものにコールバックを提供するには、多くのオーバーヘッドがあるようです。これは私が今持っているものです:

スクリプトの出力は次のようになります。

そのため、名前で Cookie に簡単にアクセスできますが、これを行う簡単な方法があるかどうか、または私が知らない便利なモジュールがあるかどうか疑問に思っていました。

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

perl - http応答から301/302Webサイトリダイレクトの場所を取得してフォローするにはどうすればよいですか?

perl Mechanize(WWW :: Mechanizeを使用してhttp応答から301/302リダイレクトの場所を取得しようとしましたが、response->headerなどを使用して応答からそれを抽出する際に問題が発生しました。

誰かが301または302リダイレクトを使用するWebサイトからのhttp応答からリダイレクト場所を抽出するのを手伝ってもらえますか?

以前にMechanizeでより複雑なことを行ったので、このリダイレクトロケーションURLを取得したら、何をしたいのか、どのように行うのかはわかっていますが、ロケーション(またはその他の応答フィールド)を取得する際に実際の問題が発生しています。 http応答。

よろしくお願いします、CMありがとうございます