############################################## ### ### ### IP_Set.pl version 1.0.0 ### ### ### ### DynamicDNS IPアドレス設定 ### ### ieserver 専用 ### ### ### ### http://ai-line.com/linux/ ### ### しお ### ### ### ############################################## # 暗号化しませんので第三者から見えない場所に設置して下さい #=====================# # ieserver 登録データ # #=====================# $server_name = 'ieserver.net'; # ホスト名 $username = '変更'; # ユーザー名 $password = '変更'; # パスワード $domain = '変更'; # ドメイン名 #=====================# # 変更箇所は上記のみ # #=====================# # POSTデータ $post = "username=$username&password=$password&domain=$domain&updatehost=1"; # Socket モジュールを使う use Socket; # HTTP プロトコルを使う $port = getservbyname('http', 'tcp'); # ホスト名を変換 $iaddr = inet_aton("$server_name") or die "$server_name does not exist\n"; # ポート番号・IPアドレスを変換 $sock_addr = pack_sockaddr_in($port, $iaddr); # ソケット生成 socket(SOCKET, PF_INET, SOCK_STREAM, 0) or die "SOCKET ERROR!!\n"; # 指定のホストの指定のポートに接続 connect(SOCKET, $sock_addr) or die "$port PORT ERROR!!\n"; # ファイルハンドル SOCKET をバッファリングしない select(SOCKET); $|=1; select(STDOUT); # データ長を得る $len = length($post); # WWWサーバにHTTPリクエストを送る print SOCKET "POST /cgi-bin/dip.cgi HTTP/1.0\n"; print SOCKET "HOST: $server_name:$port\n"; print SOCKET "Content-length: $len\n\n"; print SOCKET "$post"; print SOCKET "\n"; # ヘッダ部分を受け取る while (){ m/^\r\n$/ and last; } # 完了コメント表示 print "IP_Set OK!";