重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

PHPでプログラムを作成しています。

別のサーバーで公開されているページがAjaxを使っています。
http://www.example.com/sample/sample/test 
にアクセスすると、ページャーがついたコンテンツが表示されます。
ページャーによりコンテンツが何ページかに分かれてているように見えますが、1つののjsonファイルを読み込んで表示しています。

Chromeの検証機能でNetworkの中の「XHR」タブの中を見てみると
Request URLでjsonのページのURLが表示され、このURLをブラウザに入力してみると、JSONデータを見ることができるようになっています。

[XHR]の中身

General
Request URL: http://www.example.com/sample/sample/test?=123456
Request Method:GET
・・・

Response Headers
Accept-Ranges
・・・

Request Headers
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, br
・・・

と大きく3つのカテゴリーに分かれています。
一番上の General の中の Request URL を取得したいです。

jsonの置いてあるURLは毎日
http://www.example.com/sample/sample/test?=123456
http://www.example.com/sample/sample/test?=123543
のようにパラメタが変化するので、毎日1回見に行く必要があります。

$headers = getallheaders(); で取得すると、2番めのResponse Headerの中身は取得できるのですが、1番めのGeneralの中身が取得できません。

ご回答よろしくお願い致します。

A 回答 (2件)

> 他のサーバーの Request URL を取得する方法



案1. Web ブラウザーが発行した XMLHttpRequest を記録するブラウザー拡張を作る
案2. Web ブラウザーの設定で自前の HTTP プロキシーを経由させ、通信内容を記録する
案3. DNS 偽装して、通信先を自前のダミーサーバーに切り替えて、通信内容を横取りする
案4. DNS 偽装して、通信先を自前のリバースプロキシーサーバーに切り替えて、通信内容を記録する

どちらの手法をとるにしても、管理外のサーバーに対して悪影響を与えないように、慎重に計画を行ってください

参考:
https://ja.wikipedia.org/wiki/%E5%B2%A1%E5%B4%8E …
    • good
    • 0
この回答へのお礼

Ogre7077様

ご回答ありがとうございます。

他のサーバーのRequest URLを取得するのは簡単ではなさそうですね。
4つの案はブラウザーとDNS関連の知識が必要なので、今後そのあたりの知識も増やしていきたいと思いました。

今後ともよろしくお願いします。

お礼日時:2018/02/04 13:56

あなたのプログラムが以下ならば


http://www.example.com/sample/sample/test?=123456

$_SERVER 変数にて大体の値が取れます
$_SERVER['REQUEST_METHOD'] → GET (たぶん)
$_SERVER['HTTP_HOST'] → www.example.com
$_SERVER['REQUEST_URI'] → /sample/sample/test?=123456

参考
http://php.net/manual/ja/reserved.variables.serv …
    • good
    • 0
この回答へのお礼

Ogre7077さん

ご回答ありがとうございます。
自分のサーバーの値を取得するのではなく、他のサーバーの Request URL を取得する方法が知りたいです。
自分のサーバーにPHPでプログラムを設置してそこで公開しているURL(http://www.example.com/sample/sample/test?=123456)は$_SERVERでデータを取得できますが、全く違うサーバーのURLを設定して、Ajaxで利用しているRequest URLを取得したいと思います。
別のサーバーのRequest URLを取得できる方法がありましたら教えていただければと思います。
よろしくお願い致します。

お礼日時:2018/01/31 23:05

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