日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP 5 » fopenでurlとして指定した場合にエラーになる原因は?

fopenでurlとして指定した場合にエラーになる原因は?

ページ: 1

投稿者 投稿
会員
登録者: 3 2010
返信数: 1
はじめまして。
PHP始めたばかりです。

http://www.phppro.jp/news/228
を参考にPHPからfopenでURLリクエストしようとしています。

表示部分は単純に
echo do_post_request("http://www.yahoo.co.jp", "");
としているだけです。
上記のようにYahooでは期待通りにYAHOOの画面が表示されるのですが、
目的の画面は表示されません。
表示したいURLは
http://localhost:8080/search/ (開発途中なので、localhostです)
で、JAVAで作成したプログラムです。
もちろん直接アクセスした場合は表示されます。

一応
allow_url_fopen = On
allow_url_include = On
には設定してます。

原因にお心当たりの方がおられましたらご教授いただけると助かります。
会員
登録者: 1 2010
返信数: 12
こんにちは。yaku_yakuです。
これは想像なので、不確定な返信になってしまいますが、お許しください。

>表示したいURLは
>http://localhost:8080/search/ (開発途中なので、localhostです)

とありますが、おそらく名前解決が出来ていないからだと思います。

localhost:8080 ← この部分は本来、ipアドレス・ドメイン名・コンピュータ名を指定します。
それをTCP/IP上で認識して、該当のIPアドレスにアクセスします。このときTCP/IPの名前解決(正引き・逆引き)
が行われます。
その名前解決の順序として、netBIOS→node type→lmhosts→hosts→DNSサーバの順で参照し、
名前解決が行われます。
Yahooへのアクセスができたのは、このためです。また、

>もちろん直接アクセスした場合は表示されます。

が、どのようなアクセスの仕方かわかりませんが、LAN内のPCからのアクセスであれば、netBOISが解消してくれています。

上記の事から、localhost:8080をホストのコンピュータ名に変える。またはLAN内のPCのhostsファイルに
適当な名前を設定し、localhost:8080をその名前に変える。などで対応してみてはいかがでしょうか?

ページ: 1

日本PHPユーザ会 掲示板 » PHP 5 » fopenでurlとして指定した場合にエラーになる原因は?

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています