• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:connect タイムアウトのデフォルト)

Perlを使ってHTTP経由でHTMLファイルを取得する方法

alicia-yの回答

  • ベストアンサー
  • alicia-y
  • ベストアンサー率40% (85/208)
回答No.1

そのような処理をする場合は select を使います。 signal は使いません。

noname#25358
質問者

お礼

 ありがとうございます。  よく分かりました。  なんせ Perl でソケット使うの初めてなもので(^_^;

関連するQ&A

  • TCPのタイムアウトについて

    ホストAとホストBの間でパケットを送信しラウンドトリップ時間を測定します。 1回目 データ送信     確認応答 2回目 データ送信     確認応答 3回目 データ送信     確認応答喪失 3回目のタイムアウト時間は1回目と2回目の計測(ラウンドトリップ時間と揺らぎ)を元に求めてるのでしょうか?

  • HTMLタグのタイムアウトってあるんですか?

    こんにちは SCRIPTタグで動的ページの読み込みを行おうとしているのですが、 動的ページの処理時間が遅くなってしまうと表示結果が得られな いことがあるのですが、HTMLタグにタイムアウトってあるんでしょ うか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ホストへの接続ができません: 接続タイムアウト (10060)

    RealVNCでの接続が、「ホストへの接続ができません: 接続タイムアウト (10060)」というメッセージが出てきて、繋がりません。 実は2台のパソコンを遠隔操作したいのですが、1台の方はうまく繋がります。 パソコン(1) HTTP 5800 VNC 5900 パソコン(2) HTTP 5701 VNC 5700 と言うポートで繋いでいます。 パソコン(1)の方は、HTTP、Realvncビューアどちらも繋がります。 ですが パソコン(2)の方は、HTTP、Realvncビューアどちらも繋がりません。 サーバーの方は、パソコン(1)、(2)両方とも、同じ「****.dip.jp」を使っています。 これはどうすれば、パソコン(1)、(2)両方を繋ぐ事が出来るのでしょうか? ※パソコン(1),(2)は同一LAN内です。

  • 初期設定タイムアウト

    購入時の初期設定途中で本人確認の画面でタイムアウトをしてしまいました、表示メッセージ字は「セッションがタイムアウトしました。処理をやり直して下さい。」と出ているので何度もやり直してみたのですがぜんぜん前に進むことも戻ることもできません、どうしていいのかわからないのですが、どなたかご存知の方はいませんか? ※OKWAVEより補足:「Lenovo:ノートブック (IdeaPad・Lenovo等)」についての質問です。

  • Net::Telnetでタイムアウト時間が短い

    タイムアウト時間を確認するのに、以下のプログラムを実行したのですが、存在しないホストを指定してプログラムを実行しても3秒程度でタイムアウトしてしまいます。指定したタイムアウト時間(以下のプログラムでは100秒)待つにはどうすればよろしいでしょうか? お願いします OS:CentOS 5.1 perl: 5.8.8 Net-Telnet-3.03 ===== プログラム ===== #!/usr/bin/perl use Net::Telnet (); my $result; my $h = 'aa.bb.cc.dd'; my $u = 'my_name'; my $pass = 'my_pass'; my $p = '/[\$%#>] $/'; my $t = new Net::Telnet (Timeout => 100, Prompt => $p, Errmode => "return"); $result = $t->open($h); unless($result) { print "open ng\n"; exit; } else { print "open ok\n"; $t->login($u, $pass); print "login ok\n"; $t->print("exit"); }

    • ベストアンサー
    • Perl
  • Ajaxでタイムアウトしてしまう

    こんにちは。始めまして。 現在、perl & Ajax(prototype.js)でプログラムを組んでいます。 大雑把に言うと、入力されたキーワードにヒットするURLをPerlのLWPでGoogleから拾ってきて、HTML中のIDにAjax.Updaterで表示するものです。 その際、大量のキーワード(例えば300個くらい)を使って検索する場合、Ajax.Updaterがタイムアウトしてしまいます。 <script> new Ajax.Updater('ggl1','hogehoge.pl',{parameters: '&q=キーワード1'}); new Ajax.Updater('ggl2','hogehoge.pl',{parameters: '&q=キーワード2'}); new Ajax.Updater('ggl3','hogehoge.pl',{parameters: '&q=キーワード3'}); new Ajax.Updater('ggl4','hogehoge.pl',{parameters: '&q=キーワード4'}); new Ajax.Updater('ggl5','hogehoge.pl',{parameters: '&q=キーワード5'});   (続く続く・・・) new Ajax.Updater('ggl300','hogehoge.pl',{parameters: '&q=キーワード300'}); </script> どのようにすれば、タイムアウトさせないように出来るのでしょうか? お分かりの方がいらっしゃいましたら、ご教授ください。

  • mechanizeのタイムアウト処理について

    いつもお世話になります。 perl+mechanizeで、スクレイピングスクリプトを書いております。 $mech->reload(); にて、44秒~2分程度、サーバーから反応がない場合があります。この場合$mech->contentからは、"500 Server closed connection without sending any data back"というエラーを得ることができます。 この$mech->reload()時に、例えば、5秒待って、サーバーから反応がない場合は、次の処理に進ませる実装方法はありますでしょうか? $mechの生成時に、 $mech = WWW::Mechanize->new(timeout => 5); などとして、タイムアウト時間を5秒に設定することも出来るようですが、前記$mech->reload()時の時のみ5秒間のタイムアウト時間としたいのです。というのも、その他の箇所で、$mechは時間をかけてもよいからです。 以上、すみませんが、ご存知の方がいらっしゃいましたら、ご教示願います。

    • ベストアンサー
    • Perl
  • フリーFTPソフトBASP21のタイムアウト

    現在、こちらで(↓)提供されているフリーのFTPライブラリ「BASP21」を使用して http://www.hi-ho.ne.jp/babaq/index.html FTPでのファイルダウンロードを行なっています。 OSはWindowsXP、開発言語はVB6.0です。 使い方はいたってシンプルで、抜粋したソースを以下に示します。 ' FTPオブジェクトの生成 Set FTPObj = New BASP21Lib.FTP ' コネクト (各変数には適切な値が入っています) rResult = FTPObj.Connect(URL, User, Pass) ' 指定ファイルの受信 rResult = FTPObj.GetFile(RemoteFilePass, LocalFilePass) ' FTPオブジェクトの破棄 Set FTPObj = Nothing この処理をファイル数分(RemoteFilePass/LocalFilePass)、繰り返しています。 Connect関数で指定するタイムアウト時間は、10秒としています。 するとなぜか、最初の1個目のファイルだけタイムアウトエラーとなってしまいます。 2個目以降のファイルは問題なく受信できています。 試しにタイムアウト時間を30秒にすれば1個目のファイルも受信できるのですが、 OpenLog関数で出力されるFTP実行ログを見ますと、最初の1個だけGetFile関数 に21秒もかかっており、 (1) RETR /ファイルパス (2) 150 Opening ASCII mode data connection for /ファイルパス ※(1)と(2)の間が21秒かかっている 2個目以降のファイルは1秒以下で受信できています。 どうして最初の1個だけ異常に長い時間がかかっているのか分からず、悩んでいます。 環境的な問題(FTPサーバとか、BASP21とか…)なのでしょうか? もし心当たりのある方がいらっしゃいましたら、ヒントや、回避方法のアドバイスなど 頂ければ大変助かります。 ちなみに、BASP21は最新版を使用しています。 以上、よろしくお願い致します。

  • Windows7でダウンロードタイムアウト

    ブラウザからダウンロードすると残り数十バイトで止まり、タイムアウトします。 ファイルが大きいと発生するようで、XPモード関連ファイル、iTuneダウンロードでも発生しました。 どこで止まるかはランダムですが、いつも終わる直前に発生します。 OSはWindows7 SP1 64bit、現象はインストール直後から発生しています。 元のWindowsXP 32bitでは発生していません。 自宅LAN内のLinuxサーバのApache2に手持ちのWMVファイルをアップし、実験してみました。 「XXX.wmv」サイズは664,726,603バイトです。 ブラウザはFirefox17.0.1、IE8(64bit/32bit共)、IE9(64bit/32bit共)で全てタイムアウト発生します。 NOD32 AntiVirus5、Windowsファイヤウォールともに無効にしてもタイムアウトします。 Firefoxでダウンロードしたところ、664,289,347 バイトでした。 WinSCP(SFTP)では正しくダウンロードできました。 よって、HTTPプロトコルでのダウンロードに限定しているようです。 Apache2のアクセスログは 192.168.○○○.3 - ●●● [13/Dec/2012:21:40:27 +0900] "GET /~cachepage/flash/XXX.wmv HTTP/1.1" 200 664726913 "http://192.168.○○○.5/~cachepage/index.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0" となっています。サイズが違っているのがちょっと気になります。 また、LAN内での通信でも発生することからルータより先は影響していないと思われます。 元のファイルと失敗したファイルをバイナリエディタで比較すると先頭は合致していますが、 途中のデータがずれています。 例えば、元ファイルのアドレス0x20000000のデータは0x6ccb1da5ですが、 このデータは失敗ファイルではアドレス0x1ffafc54に存在しています。 それぞれのファイルの終端データ列はアドレスが違いますが同じです。 よって、失敗データはどこかで抜けが生じ、EOF検出でも想定サイズに至らなかったものと推察します。 以下、発生しているPCの構成を羅列します。 CPU: Intel Core2Quad Q8200S M/B: ASUS MAXIMUS II FORMULA (Intel P45/ICHIOR chipset) メモリ: 6GByte VideoCard: ELSA GLADIAC 796GT 512MB (nVidia GeForce9600GT, Driver 306.97) LAN: Marvell Yukon 88E8056 (IPv4 Static IP address, IPv6無効) インストール済みアプリケーション(一部): NOD32 AntiVirus5、Microsoft Office2010、Adobe Acrobat X等 関連しそうなドライバは最新であることを確認しました。 MicrosoftUpdateも済ませています。 とても困っていて、試行錯誤していますが、解決策が見つかっていません。 今のところ、PCを2台並べて立ち上げて、ダウンロードをXPマシンで行っている状況です。 同じような現象を経験し、解決した方、もしくは一部同じ構成である方はいらっしゃいませんか? また、原因追及方法に知恵をお貸しください。 以上、よろしくお願いいたします。

  • googleカレンダーapiでタイムアウト

    2年程前からgoogleカレンダーと連携した社内アプリを作成して運用しています。 googleカレンダーからデータ取得処理を1日平均して200回程度行っているのですが今年の2月以降タイムアウトエラーが1日当たり1~3回程度発生する様になりました。 再度取得処理を行えば問題無く取得出来る様です。 特にgoogleカレンダー側で障害が発生しているとも思えないのですが、何が考えられますでしょうか プログラム側でタイムアウト時に数回のリトライ処理を実装する等の対策を行うくらいしか 無いのでしょうか? 以下環境です CentOS 7.4.1708 Apache 2.4.6 PHP 5.6.37 google-api-php-client-2.2.2 以下エラー発生時のログの一部となります。 [29-Feb-2020 15:18:39 Asia/Tokyo] 作成したPHPのID.PHP:Google_IO_Exception Object ( [retryMap:Google_IO_Exception:private] => Array ( [6] => -1 [7] => -1 [28] => -1 [35] => -1 [52] => -1 ) [message:protected] => Operation timed out after 100001 milliseconds with 0 out of -1 bytes received [string:Exception:private] => [code:protected] => 28 [file:protected] => /var/data/google-api-php-client/src/Google/IO/Curl.php [line:protected] => 126 [trace:Exception:private] => Array ( [0] => Array ( [file] => /var/data/google-api-php-client/src/Google/IO/Abstract.php [line] => 136 [function] => executeRequest [class] => Google_IO_Curl [type] => -> [args] => Array ( [0] => Google_Http_Request Object ( [batchHeaders:Google_Http_Request:private] => Array ( [Content-Type] => application/http [Content-Transfer-Encoding] => binary [MIME-Version] => 1.0 ) [queryParams:protected] => Array ( [maxResults] => 5000 [orderBy] => startTime [singleEvents] => true [timeMin] => 2020-02-22T00:00:00+09:00 [timeMax] => 2020-09-03T00:00:00+09:00 ) [requestMethod:protected] => GET [requestHeaders:protected] => Array