人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

『http://www.xxxxx.net/xxxxx.cgi?&a=xx&b=xx&c=00000』のようなURLのソースをPHPで読み込んで
色々と処理(必要ない部分を削除したり)を施したいと考えています。
『http://www.xxxxx.net/xxxxx.cgi?&a=xx&b=xx&c=00000』を直接表示することはできるのですが
PHPのfile_get_contentsを使って
$files=file_get_contents("http://www.xxxxx.net/xxxxx.cgi?&a=xx&b=xx&c=00000");
のように読み込んでも
入力が不正だとか表示されてうまくソースを読み込むことができません。
URLの指定の仕方が悪いのでしょうか?

●質問者: uksp
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● @ブラック_?_??
●0ポイント

ALZipというソフトを使っていますが、
あれを使えば短縮できます。


ukspさんのコメント
圧縮解凍ソフトですか?これを使えば何を短縮して解決できるのかいまいちわからないのですが…

2 ● oil999
●300ポイント ベストアンサー

まずは、下記のようにアンパサンドをエスケープしてみてください。

$files=file_get_contents("http://www.xxxxx.net/xxxxx.cgi?a=xx&b=xx&c=00000");

これでもうまく読み込めない場合は、以下の事項をお知らせ下さい。

> 直接表示することはできるのですが
どの関数を使って表示できているのですか?
それともWebブラウザで表示できているという意味ですか?

>入力が不正だとか表示されて
エラーメッセージをお知らせ下さい。


ukspさんのコメント
回答ありがとうございます! > 直接表示することはできるのですが →WEBブラウザで表示できているという意味です。 >入力が不正だとか表示されて 恐らく読み込み先特有のメッセージかと思うので省略させていただきましたが --- <ご案内> 入力が不正です。正しい手順で操作してください。 直前の表示画面へ戻る --- と表示されます。 ご指示いただいたとおりエスケープしたところ --- <ご案内> 定義ファイルの指定エラーです。cgiconf.cvsを確認して下さい。 直前の表示画面へ戻る --- と表示されるようになりました。 読み取り先は私が管理しているわけではないので cgiconf.cvsを確認することもできずです。。。

oil999さんのコメント
コメントをありがとうございます。 読み取ろうとしているページは、会員制サイトか、クライアントにCookieを送るなどして認証を行っているのではありませんか? もしそうだとすると、file_get_contents 関数で読み取ることはできません。 また、認証の方式が分からないと、具体的なお答えをすることができません。

ukspさんのコメント
会員制サイトでもなくクライアントにCookieを送ったりなど 特に認証を行っているサイトではないのですが… PHPではなくJavascriptなども含めてもう少し方法がないか試してみます。。

oil999さんのコメント
サーバ側で、クライアントから送信されるhttpヘッダを解析しているような気がします。 つまり、ブラウザからのアクセスでなければ正常に動かないという仕組みが組み込まれているのではないでしょうか。

ukspさんのコメント
うーん。残念ながらそうかもしれないですね。 色々とご教授いただきありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ