• ベストアンサー

モジュールを使わずにhttpアクセスするには

レンタルサーバ上に置いた perlプログラムで 他サイトのページの内容を httpアクセスして取り出そうと思っています。 サーバの制限がきつくて LWP::Simpleなどのモジュールを全く使えないのですが、 どのようにして httpアクセスをさせればよいのでしょうか。 URLを投げてページの内容をテキストファイルで取り出すという 単純なことができれば充分です。

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

まったくモジュールを使わずというのは、ムリだと思います。 標準モジュールのIO::Socketが使えれば、以下のようにしてGETできるはずです・ #-------------------------------------------------------------- use IO::Socket; my ($sock) = IO::Socket::INET->new( PeerHost => "www.sample.ne.jp", PeerPort => 80, Proto => 'tcp'); eval { $sock->print("GET /index.html HTTP/1.0\r\n"); $sock->print("\r\n"); print <$sock>; }; $sock->close(); if($@) { die $@; }

schwer
質問者

お礼

ご回答ありがとうございます。 添付いただいたソースを元にして実装したところ ローカルでは動きましたが レンタルサーバ上では残念ながらGETはできませんでした。 他のもっと制限のゆるいレンタルサーバを探す事にします。

その他の回答 (1)

  • 2NN
  • ベストアンサー率40% (143/353)
回答No.2

Socketモジュールで可能ですが、 これも使えないようなら厳しいかと思います。

参考URL:
http://www.google.com/search?lr=lang_ja&hl=ja&q=perl%20socket
schwer
質問者

お礼

ご回答ありがとうございます。 Socketを実装したところローカルでは動きましたが レンタルサーバ上では残念ながらGETはできませんでした。 他のもっと制限のゆるいレンタルサーバを探す事にします。

関連するQ&A

  • LWPモジュールについて教えてください。

    プログラミングは初心者です。 LWPモジュールのサブクラスLWP::Simpleの get()という関数を使いたいです。 現在、Perlは5.005_3を使用しています。 use LWP::Simple; require LWP::Simple; ・ get(URL) と入れると、500 Internal Server Errorと言うものが出てしまいます。 LWPを使うとき、どのようにすれば使えるのかご指導お願いいたします。

    • ベストアンサー
    • Perl
  • main::getのモジュール?

    Perl5.6(Win)を使っております。 Perlで過去にスクリプトを書いたのですが、 Undefined subroutine &main::get called at ./test.pl line 312. とエラーが出たので、 use LWP::Simple;かなと思い。モジュールを追加したのですが まだエラーが表示されます。 main::getと、名前空間まで同じになので、何か細工していたのかな と思っていましたが、思い出せません。 他にどんなモジュールがあるのでしょうか? また、現在インストールしているモジュールの一覧とかわかる方法はありますか?

    • ベストアンサー
    • Perl
  • phone.plというモジュールを使いたいんですが・・・

    http://www.kawa.net/works/perl/phone/pnews.html このサイトのphone.plというモジュールを使って、 http://girlswalker.com/というサイトと同様に、 このURLにアクセスした瞬間に 携帯のキャリア判別及び携帯とPCの振り分けが可能な仕組みを作りたいんですが、 サーバーのどこに上げればよいのでしょうか? このモジュールの設置場所がよくわからないです。

    • ベストアンサー
    • Perl
  • Perl webのテキストボックスに入力し送信取得

    Perl初学者です。Perlでのインターネット通信に興味があります。 webサイトのテキストボックスにテキストを入力し、それを送信・結果を取得するためのプログラムを教えてください! (例) 単語を英訳するプログラムが作りたかったので、”http://ejje.weblio.jp/”の検索ボックスに単語を入れて送信し、帰ってきたURLのhtmlを取得する、といった感じ? 少し勉強したLWPモジュールを使って頂けると嬉しいです。 もちろん、こっちの方が効率がいいよ、といった方法があれば是非教えてください! よろしくお願いします。

    • ベストアンサー
    • Perl
  • ACCESS97のモジュールにSPLITは無いの?

    パールでカンマ区切りのテキスト(行)を下記のコーディングで分解していました パールコーディング  @pflg=split(/,/,$xx) 入力($xx) 11,22,33,44 出力 @pflg(0) → 11    @pflg(1) → 22    @pflg(2) → 33    @pflg(3) → 44 アクセスのモジュールで同様のコーディングは出来ないのでしょうか?

  • CPANモジュールのサーバへのインストールについて

    XML::Simple がサーバ内にないようで、 http://search.cpan.org/~grantm/XML-Simple-2.14/lib/XML/Simple.pm から.tarファイルダウンロードして、Lhaplusで解凍。FTPでサーバのwww/mt/extlib/XML/Simple.pmに入れました。 これでperlを use lib'.mt/extlib'; use XML::Simple; と書いてみたのですが、CGIはうまく動いてくれませんでした。 CPANモジュールを使うのは初めてなのですが、C++でコンパイルしろだとかtelnet.exeを使うとかの説明をよく理解できません。FTPを使ってサーバにあげる方法ではうまくいかないのでしょうか?それとも原因はほかにあるのでしょうか? よろしくお願いします。 PC:Win XP 解凍ソフト:Lhaplus FTP:FFFTP サーバ:さくらレンタルサーバ・スタンダード(Movable Type 3.15ja入れてます)

  • アクセス制限レンタルサイトが消えた

    コピペコピペでHPを作成しています。ほぼ初心者だと思ってご回答ください。 HP上の1ページをレンタルサイトのアクセス制限にて特定の人にしか開けないようにしていましたが、今月に入りレンタルサイトが消滅してしまい困っています。 DIONのサーバーを利用しています。いろいろ調べたのですが、DIONではperlなどの絶対パスは教えていないそうでCGIは使えないのかなと・・・ javaで制限できる方法も試みたのですが、右クリックしてファイルを保存してしまえばパスワードがバレてしまいます。他のレンタルサイトもみつかりませんでした。 何かいい方法、またはレンタルサイト(無料サイト希望)はありませんでしょうか。

  • レンタルサーバーでのモジュールの設定

    レンタルサーバーでPerlモジュールの設定を行うためには どのようにすればいいのでしょうか? 使用モジュールは HTML::Templateです。 下記のurlの回答(教えてGOOの回答)を読みましたが、 http://oshiete1.goo.ne.jp/qa1680065.html 回答部分の use lib qw(/home/meikenpochi/lib/); に置くファイルがわかりません。 現在はローカルでモジュールを設定し、 使用できますがローカル側にモジュール設定ファイルがあり それをサーバー側にアップすればよろしいのでしょうか? またそのファイルがある場合はどこにどういう名前で存在するのでしょうか? ご教授お願いします。

    • ベストアンサー
    • Perl
  • Perlモジュールについて

    レンタルサーバーを使用しています。 Perlモジュールと言うのはサーバー管理者にインストールしてもらわないと使えないのでしょうか? それとも自分のディレクトリにおいて使用できるのでしょうか?

  • perlによるxmlファイルの取得

    あるサーバにあるxmlファイルの内容を取得する為に use LWP::Simple; $url = "http://***/***.xml"; #取得するXMLファイル $text = get($url); 以上の様な方法を用いたのですが、目的のxmlファイルを取得する際のみ、$textに格納される内容が『1文字ごとに半角スペースのようなもので区切られている』という意図しないものになってしまいます。 他のxmlファイルは問題なく取得できるのですが・・・・・・何か特別な方法が必要なのでしょうか。

    • ベストアンサー
    • Perl

専門家に質問してみよう