ルモーリン
ホーム 更新 Perl Sample サービス 雑談 鉄ゲタ Linux リンク 連絡先

LWP::UserAgentで500エラー(Bad file descriptor)

投稿:2020-09-20

喉元過ぎれば熱さを忘れるとはよく言ったものです。 一度目の失敗をすっかり忘れて解決法が見つかった瞬間に「あ、これ二度目だ」と思い出しました。 ということはアレだ。 ホームページに記事を上げておけば自分で検索して自分の記事が見つかれば良いんだ(見つかるのか?)。

LWP::UserAgentでTLS(SSL)のサイトを見に行くと500エラーが返ります。

#!/usr/bin/env perl

use v5.26;
use utf8;
use warnings;
use strict;

use Encode::Locale;
use LWP::UserAgent;

use feature "say";
use open IO => ":utf8";

binmode STDOUT, ":encoding(console_out)";
binmode STDERR, ":encoding(console_out)";

$| = 1;

my $ua = LWP::UserAgent->new;
my $res = $ua->get("https://www.lemorin.jp");
say $res->status_line;
500 Can't connect to www.lemorin.jp:443 (Bad file descriptor)

ウチのPCで使っているNOD32がTLSを監視「許可のない者を通す訳にはいかない」ブロックしてた(泣)。 今はActivePerlを絶賛リビルド&インストール祭開催中で、空ディレクトリにインストールする都合があります。 はい、もう分かりましたね。 新規インストールしたPerlからのTLSをNOD32がブロックしてました。

Perl「健全なプログラムです。」NOD32「よし、通れ!」となれば良い訳ですね。
NOD32の設定画面です。 パスの5_28はPerlのv5.28ですけれど、末尾の8はリビルドし直して8回目です(笑)。 NOD32の設定画面

まあ、普通に200が来ます。

200 OK