こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPカテでは無いかもしれません。他サイトを自分のサイト内で表示させる方法について!

度々お世話になっております。

あのうですね・・・。

http://a.jp と言うサイトとhttp://b.jpと言うサイトがあったとします。

不思議な事に、http://b.jpと言うサイトにアクセスしなくてもhttp://a.jpと言うサイト上でhttp://b.jpを表示しているサイトがありました。

つまりサイト丸ごとインクルードしていると言うかなんというか・・・。


これはどうゆうような仕組みなのでしょう・・。

ちょっとcgi(peal)のファイルを調達しましてタグを見てみたんですけどぐちゃぐちゃで分かりませんでした。

ちなみにphpでも出来るようです。

投稿日時 - 2009-12-19 17:25:09

QNo.5533832

暇なときに回答ください

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

iinnffooさんは、少々、売り言葉を買いすぎです。
その為につく解答が荒っぽくなってしまっているように思います。

さておき、ご質問の回答ですが、

「トラチェン(トラフィックチェンジ)」を存じなかったので少し調べてみましたが、登録してみないとその実体は良くわからないようで。
とりあえず、

>不思議な事に、​http://b.jp​と言うサイトにアクセスしなくても​http://a.jp​と言うサイト上で​http://b.jp​を表示しているサイトがありました。

この件から判断することとします。

つまり、サイトB(http://b.jp)のほうで、一度サイトA(http://a.jp)のHTMLの内容をぶんどって来きて文字列として取得してそのまま(又は加工して)echoを返すという仕組みですかね。

PHPにおいて最も簡単な方法は、「file_get_contents()」関数を使う方法です。
$html = file_get_contents('http://a.jp');
と記述してやれば、aのサイトの該当ページのHTMLを取得できます。
仕組みは、つまりブラウザが行っていることと一緒で、
HTTPヘッダ情報を該当サイトに投げかけてやって、応答を得る、というものです。
特別なHTTPヘッダを投げなければならない場合は、「fsock_open」という関数か「stream_socket_client」という関数を利用する必要があります。
詳しい方法は適当に関数名で検索してみてください。fsock_openに関してはPHPの公式マニュアルのユーザ投稿欄に色々な使い方等々乗ってます。

投稿日時 - 2009-12-19 21:34:49

お礼

こんにちわっ!

hogehoge78さんいつもお世話になっております。

>>$html = file_get_contents('​http://a.jp');​
ェェェぇぇーっ!

これだけで出来るなんて・・・。超びっくりでした。

>>HTTPヘッダ情報を該当サイトに投げかけてやって、応答を得る

と言う事だったんですね・・・。
何かしらファイルを開いたりそのソースをサイトに表示するのかなとか色々考えたり調べたりしたんですけど自分には分かりませんでした。
とても参考になりました。
二年前くらいからずっと不思議に思っていたことでした。
いつもためになるご回答いただきありがとうございます。

また1つ成長できました。

売り言葉を買わないように気をつけたいと思います。
ご迷惑かけてしまいすみませんでした。

hogehoge78さん!ありがとうございますっ!(*^-^*)

投稿日時 - 2009-12-20 15:39:54

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

http://a.jphttp://b.jpが全く同じというならDNSでa.jpもb.jpも同じサーバに向ければいい。
PHPですべきことじゃないと思う。

> >>フレームを使えば出来ますが
> ではなくて、仕組みをお伺いしていると言うことはお察しいただいておりますか(笑)
フレームを使うのも立派な仕組みだと思うが。

投稿日時 - 2009-12-19 20:13:38

お礼

わかりました。

投稿日時 - 2009-12-20 15:29:54

ANo.2

 フレームを使えば簡単に実現できますが、自分が作成していないページを自分のホームページのように見せた場合、著作権法に抵触します。

投稿日時 - 2009-12-19 18:16:21

補足

あれ・・・

もうお一方お答えあった気がしたんですけども・・・。

どこ行ったんでしょう。。。
回答に足が生えてどこかに行ったんでしょうか・・・。

あっ。規約に違反しちゃって事務局の方に消されちゃったんですね。。。


消えてますもんね。

まぁルールマナーは守ってご利用いただきたいものです。

あっ。
皆さんご回答有り難う御座います。

投稿日時 - 2009-12-19 18:28:25

お礼

トラチェンってご存じないですかね・・・。

まぁ犯罪が多いですから疑うお気持ちは分かるんですけど。。。
疑い深いのもあれですよ。

>>フレームを使えば出来ますが

ではなくて、仕組みをお伺いしていると言うことはお察しいただいておりますか(笑)
まぁそれも1つのご意見としましょう。

投稿日時 - 2009-12-19 18:22:11

ANo.1

んなもん、PHP等の言語使わなくてもできます。
HTMLの知識があれば簡単にできますよ。

やり方が分からない場合はHTMLを勉強しまくってください。

投稿日時 - 2009-12-19 18:05:59

補足

「んなもん」ってかっこいっすね!

栃木とか茨城の元ャんキーの方ですか!?

かっこいっす!

自分も「んなもん」って使いたいっス!(笑)

投稿日時 - 2009-12-19 18:32:00

お礼

>>んなもん、PHP等の言語使わなくてもできます。

えっとですね(笑)


出来る出来ないではなくて、仕組みを(笑)ダメです笑いすぎて書けませんすいません(笑)

気を取り直して。
出来る出来ない htmlはできるとかではなくて、仕組みをお伺いしております。

「できる」と一言言われましても実際「本当に知ってるんですか?あなた。詳細まで答えられないなら実際は知らないんじゃないの?」と社会では見られちゃいますからね・・・。

いや、私的には1つのありがたいご意見として頂戴しております。

投稿日時 - 2009-12-19 18:27:07

あなたにオススメの質問