任意のページを取得するために、ASHさんのスクリプトを使ってい
ます。
ところが、どうにも取得できないページがあります。
ブラウザでは見れるのに、このスクリプトでは取得できません。
ダンプをとってみると、404not foundが返却されます。

想像ですが、この場合のアドレスは、「別名」なのでしょうか?

ブラウザでは見られるのだから、なにか方法があると思いますが、
その方法がわかりません。

ASHさんのスクリプトは、
http://ash.jp/perl/socket_http.htm
にあります。

たとえば、
http://www.icn.ne.jp/~akatuki/furu0.htm
http://www.icn.ne.jp/~furukawa/
は、このスクリプトでは読み取れません。
ここのプロバイダのサーバ上にあるHPは、全てそのようです。
また他のSPでも、このような所があります(少ないようですけど)。


こうなる理由と、対処方法(読み取る方法)をお願いします。


よろしくお願いします。

A 回答 (3件)

>この判断の前にサーバーに、「あんたのVerは?」


>って聴いて分岐させるべきだとおもうのですが、
>その方法はあるのでしょうか?

Webサーバに適当なHTTP要求を送信すれば,それに対するWebサーバからのHTTP応答の中にHTTPバージョンを示す値が含まれていますので,それを検査することになります。CGIプログラミングの入門書に解説が載っているでしょう。

ただ,今回のご質問の場合は。
HTTP/1.0のWebサーバ,HTTP/1.1のWebサーバ,ともにそのWebページを取得できればいいという最も基本的なニーズですから,単にHTTP/1.1要求を送信すればよいはずです。

RFC2145「HTTPのバージョン番号の使い方と解釈について」を参照。
http://www.tech-web.net/note/RFC2145.html#version
    • good
    • 0
この回答へのお礼

ありがとうございます。

>Webサーバに適当なHTTP要求を送信すれば,それに対するWebサーバか
>らのHTTP応答の中にHTTPバージョンを示す値が含まれていますので
ダンプを取ってみましたので、404not foundを返したときでも、
ヘッダにそれが含まれているのは知っています。それを抜き出すのは
簡単なのですが、もっとスマートに取得できないかと、思った訳です。

>CGIプログラミングの入門書に解説が載っているでしょう。
私自身、Perlの入門書でHTTPプロトコルについて、Perlとの関連で
書かれたものは知りません。
CGIプログラミングは、特定の言語を指すものではないので、
他の言語の入門書には書いて有るのかも知れませんね。
プロトコルについてはあまりヨク知らないので、Perlに関連した入門書
で、HTTPに関して書かれた書籍があれば、ご紹介願います。

>HTTP/1.0のWebサーバ,HTTP/1.1のWebサーバ,ともにそのWebページを>取得できればいいという最も基本的なニーズですから,単にHTTP/1.1
>要求を送信すればよいはずです。
おっしゃるとうりです。
オリジナルでは、その部分がコメントアウトされていて、上手く
いかなかったことは、 osamuy(No.1)さんのご指摘の通りでした。

>RFC2145「HTTPのバージョン番号の使い方と解釈について」を参照。
>​http://www.tech-web.net/note/RFC2145.html#version
ありがとうございました。
勉強になりました。

お礼日時:2008/09/17 20:11

URL/URIの仕様上は半角チルダ(~)をURLエンコードなしに記述することができません。


また、Perlでは ~ を使用すると自動でU+FF5E(全角チルダ)に変換して
しまうことがあるようです。

~ を %7e にして試してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

参考になりました。~には注意します。

お礼日時:2008/09/16 00:59

> #$http = '1.1';


のシャープを外してないとか。

私が的外れかも。
    • good
    • 0
この回答へのお礼

ありがとうございました。
>私が的外れかも。
どころか、
これをはずしたら、ドンピシャ!
うまくいきました。

コード的に見ると、このサーバーはHTTP1.1しか
サポートしていないということですね。
1.1の判断ではじかれてelse{}を実行したけれど、
「なにそれ?」と、知らん顔されたということでしょう。

とすると、この判断の前にサーバーに、「あんたのVerは?」
って聴いて分岐させるべきだとおもうのですが、
その方法はあるのでしょうか?

お礼日時:2008/09/16 00:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

  • 【長谷川豊】『サミットあれこれ』

    「長谷川さんの知る『サミットの裏側』を教えてください」 というメールを頂きました。一応、知ってる範囲で話をします。 まず、サミットは「ただのパフォーマンスの場ではないか?」というお声に対する返事ですが...

  • 先行きの見えない不安を抱える被災地のみなさんに心理学者がアドバイス

    熊本地震から約1ヵ月半が過ぎ、今でも避難所や車中で生活している方も大勢いる状況だ。長引く避難生活は不安感を増大するもの。前回は「余震で眠れない被災地のみなさんに向け心理学者がアドバイス」にて、不安で眠...

  • たまランチ:第47話「さつまいも」

    外ランチを愛してやまない元気な女子社員・たまちゃん(26)。オシャレなお店より「安くておいしい」お店が大好き! そんな女子力低めなたまちゃんの、色気より食い気な日々をつづります。

  • エルフ田さん:第71話「貯められる人」

    エルフ(ファンタジーとかに出てくる長寿の種族)の「エルフ田」と、ただの人間である女子社員2人による日常ギャグ。エルフならではのズレたツッコミでバシバシ人間界の話題を斬っていきます。

  • 感情的にならない人の気質

    あなたの身の回りで感情表現が薄い人はいないだろうか? 感情表現が薄いといい意味でクールに感じ、大人な印象を持つ人も多いだろう。だが、一方で何を考えているか分からず、とっつきづらい印象を抱くこともあるの...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ