Perlネットワークプログラミング

ここでは、Perlを使ったネットワークプログラミングを説明します。

簡単なTCPサーバとクライアント

HTTPサーバの作成(TCPサーバサンプル)

HTTPクライアントの作成(TCPクライアントサンプル)

HTTPクライアントの作成(HTTP::Liteを利用)

HTTP_USER_AGENTを変更したHTTPクライアント(LWP::UserAgent)

取得したHTMLのパース

HTML::TreeBuilderによるパース(Titleの取得)

HTML::TreeBuilderによるパース(Headの取得)

HTML::TreeBuilderによるパース(リンクの取得)

HTML::TreeBuilderによるパース(解析結果をdump)

HTML::TreeBuilderによるパース(タグとテキストを全表示)

ネットワーク情報

IPアドレス一覧取得(IO::Interface::Simpleを利用)

ホストの生存確認(Net::Ping)

ICMP Echoの送受信(Net::Ping)

DNS

MX情報の取得(Net::DNS)

IPアドレスの解決(Net::DNS)

逆引き(Net::DNS)

ドメイン用DNSの発見(Net::DNS)

IPv6アドレスの解決(Net::DNS)

UPnP

UPnPデバイス一覧を取得(Net::UPnP::ControlPointを利用)

UPnPデバイスが提供しているサービス一覧を取得(Net::UPnP::ControlPointを利用)

ルータ

SOHOルータのExternal IPアドレスを取得

SOHOルータの状態を取得

SOHOルータの外部接続を切断

UPnP AV / DLNA

MediaServer ContentDirectoryでルートをBrowseDirectChildrenする

MediaServer ContentDirectoryでルートをBrowseMetadataする

MediaServer CDSでBrowseした結果を解析する(XML::DOMを利用)

MediaServer CDSでBrowseした結果を解析する(Attributeの表示)

MediaServer CDSでBrowseした結果に含まれる全情報を表示する

その他

RSSクライアントの作成(XML::RSS)

RSSフィードURLの取得(Feed::Find)

RSS Pingの送信(XMLRPC::Lite)

RSS Pingを複数のURLに送信(XMLRPC::Lite)

Trackback Pingの送信(Net::Trackback)

Googleページランクの取得(WWW::Google::PageRank)

bit.lyのURL短縮機能を利用する