スキップしてメイン コンテンツに移動

perl の https通信 が出来なかったので対処した件

いつもhttpsの接続方法を調べているのでまとめることにした。

ここではDebianでの話になっている。

$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"


$ perl --version

This is perl 5, version 28, subversion 1 (v5.28.1) built for x86_64-linux-gnu-thread-multi
(with 61 registered patches, see perl -V for more detail)

LWP::Protocol::https
このモジュールを入れると関連するモジュールも入れてくれるのでこれをインストールする。

# cpanm LWP::Protocol::https

エラーが出てインストールできない場合、何かが入っていない為ログファイルを確認する必要がある。
今回はこの辺をインストールした。

# apt install gcc
# apt install libssl-dev
# apt install zlib1g-dev

gccがないとコンパイルできないと言うエラーが出る。
libssl-dev は openssl のヘッダファイルがないとエラーが出る。
zlib1g-dev は /usr/bin/ld: -lz が存在しないとエラーが出る。


インストールが出来たら、試しにFeedPPのサイトのサンプルを動かしてみた。

[Perl] XML::FeedPP - RSS・RDF・Atomフィードの解析・生成・変換・結合
http://www.kawa.net/works/perl/feedpp/feedpp.html

上記サイトにあるRSSを読み込むサンプルを動かした。
読み込むRSSはYahooニュースを用いた。

Yahooニュース
https://headlines.yahoo.co.jp/rss/list

URLを修正し次のようなコードを動かした。

    my $source = 'https://news.yahoo.co.jp/pickup/rss.xml';
    my $feed = XML::FeedPP->new( $source );
    print "Title: ", $feed->title(), "\n";
    print "Date: ", $feed->pubDate(), "\n";
    foreach my $item ( $feed->get_item() ) {
        print "URL: ", $item->link(), "\n";
        print "Title: ", $item->title(), "\n";
    }


無事にrssファイルからテキストを取り出せた。

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。

ノートPC ( HP Pavilion TouchSmart 10 ) にXubuntuを入れた話

以前、次のような記事を書いた。 Na01mini に Ubuntu 19.04 をインストールした https://atsreport.blogspot.com/2019/06/na01mini-ubuntu-1904.html このときはハードウェアが32bitであった為32bitのUbuntuをインストールすることになった。 今回は次の64bitマシンをSSD化しXubuntuをインストールした。 スペック HP Pavilion TouchSmart 10-e003AU AMD A4-1200 APU (1.0GHz, 1MB L2キャッシュ) 2GB (2GB×1) (1066MHz,DDR3L SDRAM) オンボード AMD Radeon™ HD 8180 グラフィックス 10.1インチワイドHDブライトビュー・タッチディスプレイ (1366×768/最大1677万色) https://jp.ext.hp.com/lib/products/portables/personal/spec_pdf/pavilion_10e-000_touchSmart_dp.pdf もともとWindows8.1(64bit)であったのをWindows10Home(64bit)にアップグレードしてあったが、とても処理が重く使いみちがなかった。 処理が重い理由の1つがHDDだと思ったのでSSD120GBに交換した。 SSDはパソコン工房で2000円で買えた。厚さ7mmでないと入らない。 LITEON PH6-CE120 Pavilion TouchSmart 10-e003AU の分解については色んなページを参考にした。 ドライバは必須だが、スクレイパーが有るといい。無いと分解できなかったかも。 http://ayati.cocolog-nifty.com/blog/2014/06/pchp-pavilion-1.html https://wakeari.danman.jp/entry/paviion-ts-10-e021au-ssd http://h10032.www1.hp.com/ctg/Manual/c04019490.pdf 交換完了し、最初 FreeBSD12.1 をインストールした。 ところがタッチパネ...