2017-07-20 5 views
0

から LWP::Simple の一部のJSONデータを取得するPerlスクリプトがあります。LWP :: Simpleによって確立された接続を明示的に閉じます

両方のサーバーで開いているTCP接続が残っています。

getprintが完了すると、Perlが接続を明示的に閉じていることを確認します。それを行う方法はありますか?

+0

編集することができます - 私は、Webサーバーにはかなり新しいですコミュニケーション。スクリプトは特別なURLを照会するだけで、そのURLには "?serial = 59595"のようなものが含まれています。 – Locane

+0

実際、POSTリクエストにはurlパラメータがない傾向があります。 – ikegami

+1

LWP :: UserAgent(LWP :: Simple :: getprintによって使用される)はkeep_aliveまたは接続キャッシュを許可しますが、デフォルトでは発生しません – ysth

答えて

0

LWP :: Simpleは接続を非表示にしてはいけないと指摘されていますが、LWP::UserAgentを使用することをお勧めします。あなたは、単にオブジェクトがスコープ外に実行させることができます。

{ 
    # Set the timeout to some value you find reasonable 
    my $ua = LWP::UserAgent->new(timeout => 30); 
    # open connection, do what you wanted to use it for 
    # ... 
    # will run out of scope now. This may not be necessary, 
    # but now you can be quite certain the connection is dropped. 

} 

OO-インターフェースはまた、タイムアウトなどのようなものの(IMO)簡易な構成

関連する問題