問題タブ [lwp]
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.
perl - Perl LWP::UserAgent で「Day too big」警告を抑制する
LWP::UserAgent モジュールを使用して URL をリダイレクトし、最終的な宛先 URL を見つけて MySQL データベースに保存する、かなり単純な perl スクリプトがあります。問題は、スクリプトが時々次のような警告を報告することです。
警告には、これが発生した理由や問題の原因となっているモジュールに関するその他の詳細は示されていませんが、LWP::UserAgent に関係していると確信しています。
次のコードを使用してエージェントを初期化しています。
オンラインで検索したところ、解決されなかった次のスレッドのみが見つかりましたhttp://www.mail-archive.com/libwww@perl.org/msg06515.html。スレッドの作成者は、これらの警告が LWP::UserAgent モジュールによってキャプチャされた Cookie の日付に何らかの形で関連していると考えました。
警告はスクリプトに影響を与えていないようですが、この問題の原因をよりよく理解するための助けと、それを解決する方法、または少なくとも警告メッセージを抑制する方法についてのアドバイスをいただければ幸いです。よろしくお願いします。
perl - LWPでIPv6サポートを有効にするにはどうすればよいですか?
次のコード..。
..で失敗します。
.. $ urlのホスト名がIPv6のみのアドレスである場合(つまり、レコードは存在するが、AAAA
レコードは存在しないA
)。
私の質問は次のとおりです。
- LWPでIPv6サポートを有効にするにはどうすればよいですか?
A
「prefer-IPv4-over-IPv6」( vsAAAA
。)/「prefer-IPv6-over-IPv4」(AAAA
vs 。)のLWPの設定を構成するにはどうすればよいA
ですか?
perl - Perl の LWP が元の Web サイトとは異なるエンコーディングを提供するのはなぜですか?
私はこのコードを持っているとしましょう:
エラーログには、「\xd7\x9c\xd7\x94\xd7\x93\xd7\xa4\xd7\xa1\xd7\x94」のようなものが表示されますが、これは utf-16 だと思いますか?
ウェブサイトのエンコーディングは
では、なぜこれらの文字が表示され、windows-1255 の文字は表示されないのでしょうか?
そして、もう1つの奇妙なことは、2つのサーバーがあることです:
CP1255文字を返す最初のサーバーと私は単にそれをutf8に変換することができ、現在のサーバーは私にこれらの文字を与え、私はそれで何もできません...
エンコーディングを台無しにしている設定ファイルが apache/perl/module にありますか? 何かを強制する...?
2番目のサーバーにある私のWebサイトの結果は、perlファイルとヘッダーがすべてutf8であるため、英語の文字ではないテキストを書くと、上記の例のコンテンツは正常に表示されます(奇妙なutf文字ですが)しかし、私自身の静的テキストは「×ס'××ר××:」のように見えます
私がテストしたもう1つのことは...
perl 経由:
utf8エンコーディングを取得します。
Bash 経由:
そしてここでCP1255(Windows-1255)エンコーディングを取得します...
また、スクリプトをbashで実行するとCP1255が返され、Web経由で実行すると再びutf8になります...
コンテンツを utf8 から本来の内容に変更してから、utf8 に戻すことで問題を修正しました。
perl - :content_file オプションを使用せずに応答をファイルとして処理するにはどうすればよいですか?
コード例:
コンテンツをディスクに保存せずにファイルとして開く必要があります。これをどのように行いますか?
perl - Perl と LWP を使用してページを取得せずに最終的な URL を取得するにはどうすればよいですか?
Perl の LWP を使用してWeb スクレイピングを行っています。URL のセットを処理する必要があり、そのうちのいくつかは (1 回以上) リダイレクトされる可能性があります。
HEAD メソッドを使用して、すべてのリダイレクトが解決された最終的な URL を取得するにはどうすればよいですか?
perl - LWP::UserAgent の post メソッドで Term::ProgressBar を使用してプログレス バーを作成するにはどうすればよいですか?
アップロードを示すこのスクリプトの進行状況バーを作成するにはどうすればよいですか? :content_cb 画像がアップロードされた後、応答用のプログレス バーを作成しましょう。
perl - REST 要求がガベージ データを返すのはなぜですか?
LWP::Simple を使用して、REST サービスへの GET 要求を作成しようとしています。簡単なコードは次のとおりです。
私のローカル マシンでは、Ubuntu 10.4 と Perl バージョン 5.10.1 を実行しています。
farhan@farhan-lnx:~$ perl --version
これは、x86_64-linux-gnu-thread-multi 用にビルドされた v5.10.1 (*) perl です。
正しい応答を取得して、画面に出力できます。例えば:
farhan@farhan-lnx:~$ head -10 output.txt
{
"合計": 1000,
"ページ": 1, "ページサイズ
": 30,
"質問": [
{
"タグ": [
"php",
"配列"、
"コーディングスタイル"
(...省略...)
しかし、SSH 接続先のホストのマシンでは、まったく同じコードのガベージが画面に出力されます。エンコーディングと関係があると思いますが、REST サービスは応答で文字セット タイプを返さないので、LWP::Simple に正しいエンコーディングを強制的に使用させるにはどうすればよいでしょうか? ここで何が起こっているのでしょうか?
ホストのマシン上の Perl のバージョンは次のとおりです。
[drdd]$ perl --version
これは、x86_64-linux-gnu-thread-multi 用にビルドされた v5.8.8 の perl です。
perl - perl Client-SSL-Warning: ピア証明書が検証されていません
HTTPS サイトへの perl スクリーンスクレイパーに問題があります。デバッグでは、次を実行しました。
出力には、次の行があります。
この証明書を自動的に受け入れる方法はありますか、それとも問題ではありませんか?
出力:
更新:追加しました
以下に提案されているように。デバッグもオンにしました:
ここに私の出力があります:
私は失敗を無視しようとしますが、問題はそれが現在ページ上の唯一のものであるため、ログインフォームなどがないことです。
html - Perl で Web 2.0 HTML ソース コードを読む
動的に生成された HTML Web 2.0 ソース コードを読み取ることはできますか? agent->response を使用する Perl LWP は、動的に生成された HTML コードを取得しません。
今日、多くの Web サイトが動的な html を生成しています。最安値を求めて買い物をしていて、価格が動的に取得および破棄されている場合、私は廃業しています。
私たちは時代の終わりに近づいていますか?
perl - LWP リクエスト経由で返された SSL 証明書の検査
perl で LWP を使用して Web ページをリクエストしています。Web サーバーが提示する SSL 証明書にアクセスできるようにしたいと考えています (特に、証明書の有効期限を探しています)。私が欲しい情報は、Crypt::SSLeay が要求に追加する 3 つのヘッダーにはありません。SSL証明書のオブジェクト参照を(理想的には)取得できる見落としている方法はありますか?私はいくつかの perl ドキュメントと Google をスキャンしましたが、長い 1 週間だったので、正しいことを読んでいないだけかもしれません。
それを避けることができれば、認証された Web プロキシが途中であり、LWP はその問題を透過的に消滅させるだけなので、別の未加工の SSL 接続を作成して証明書を直接取得したくありません。:)そして、必要なデータがすでに自分のマシン/どこかに/...に転送されているときに、2つの接続を作成するのはばかげています