
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の中身が取得できません。
ご回答よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
> 他のサーバーの Request URL を取得する方法
案1. Web ブラウザーが発行した XMLHttpRequest を記録するブラウザー拡張を作る
案2. Web ブラウザーの設定で自前の HTTP プロキシーを経由させ、通信内容を記録する
案3. DNS 偽装して、通信先を自前のダミーサーバーに切り替えて、通信内容を横取りする
案4. DNS 偽装して、通信先を自前のリバースプロキシーサーバーに切り替えて、通信内容を記録する
どちらの手法をとるにしても、管理外のサーバーに対して悪影響を与えないように、慎重に計画を行ってください
参考:
https://ja.wikipedia.org/wiki/%E5%B2%A1%E5%B4%8E …
Ogre7077様
ご回答ありがとうございます。
他のサーバーのRequest URLを取得するのは簡単ではなさそうですね。
4つの案はブラウザーとDNS関連の知識が必要なので、今後そのあたりの知識も増やしていきたいと思いました。
今後ともよろしくお願いします。
No.1
- 回答日時:
あなたのプログラムが以下ならば
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 …
Ogre7077さん
ご回答ありがとうございます。
自分のサーバーの値を取得するのではなく、他のサーバーの Request URL を取得する方法が知りたいです。
自分のサーバーにPHPでプログラムを設置してそこで公開しているURL(http://www.example.com/sample/sample/test?=123456)は$_SERVERでデータを取得できますが、全く違うサーバーのURLを設定して、Ajaxで利用しているRequest URLを取得したいと思います。
別のサーバーのRequest URLを取得できる方法がありましたら教えていただければと思います。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
データ数をカウントしたいのですが
-
count(*)で取得した値をJAVAの...
-
PHP8でWarning:Undefined varia...
-
ListView 項目の選択/選択解除...
-
VBでGetTickCountを使う
-
PostgresSQL JDBC で Select結...
-
VB .netにて現在時刻+1時間後...
-
VBAでActiveDirectoryのユーザ...
-
リストビュー:先頭行のアイテ...
-
EXCELのリストボックスを選択し...
-
現在時刻をミリ秒まで取得
-
リストボックスをチェックボッ...
-
outlookでメールのフォルダパス...
-
URIでのページの移動について
-
VBでFTPサーバ側のファイルの更...
-
VBScriptで数値にコンマを付け...
-
クッキーの有効期限取得(C#)
-
ExcelVBAで、現在の画面の表示...
-
Struts2 <s:select>タグの値取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
count(*)で取得した値をJAVAの...
-
VBAでActiveDirectoryのユーザ...
-
PHP8でWarning:Undefined varia...
-
データ数をカウントしたいのですが
-
利用者側のMACアドレスを取得し...
-
VBA:小数点以下の数字を取得で...
-
JSP+Servletでのページングの常識
-
Flexgridで選択行の列の値を取...
-
JavaScriptにおいてコンピュー...
-
like演算子内に変数って使えな...
-
JavaScriptでWindowsログオンID...
-
エクセルVBAで複数選択できるよ...
-
getParameter と getAttribut...
-
URIでのページの移動について
-
「Excel VBA」 Webクエリ マク...
-
郵便番号検索APIにてget Elemen...
-
DOS窓の非表示
-
EXCELのリストボックスを選択し...
おすすめ情報