• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別サーバーのデータの取得)

別サーバーのデータの取得

このQ&Aのポイント
  • PHP5を使用して別サーバーのデータを取得する方法について説明します。
  • サーバAからサーバBのHTML部分を定期的に取得する方法について詳しく教えてください。
  • PHPで無限ループを使って、サーバAでデータ取得のタイミングがきたらサーバBにリクエストを送る処理を実装することは可能でしょうか?

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

  • ベストアンサー
  • gentaro
  • ベストアンサー率47% (105/221)
回答No.2

常時実行、の意味がよくわかりません。 常駐プロセスにしたい、という意味でしょうかね? >レンタルサーバで在中起動OKの所を探そうと思います。 >(常時起による動負荷の方も許可を頂くつもりです。) 自作プロセスを常駐させてくれるレンタルサーバーはないと思いますよ。 crontabは単なるコマンドのスケジュール管理ツールです。 レンタルサーバーでもシェル利用を認めているところなら使えるはずですよ。 ソケットでターゲットのHTTPサーバーに接続し、構文解析して 結果をDBに出力するPGをPHPで書き、それをcrontabでスケジューリングする、という方法しか考え付きません。

akaginoyama
質問者

お礼

回答、ありがとうございます。 >常駐プロセスにしたいという意味でしょうかね? そうです、うまくお伝えできずに申し訳ありません。 >crontabは単なるコマンドのスケジュール管理ツールです。 該当ツールの使い方を、調べて見たいと思います。 今後のためにも、他の方法も、あれば知っておきたいの でこのまま、しばらく質問を出させていただきますが、 大変有力な情報を、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • gentaro
  • ベストアンサー率47% (105/221)
回答No.1

サーバーの環境とか、どのように取得するのかが全く書いてないのでわかりませんが、 Unix系ならばCrontabでPHPをバッチ起動、ソケットでHTTPリクエストを送ればいいのではないでしょうか。

akaginoyama
質問者

補足

●お詫びとお願い ご回答ありがとうございます。 情報足りなくて申し訳ありません。 レンタルサーバで在中起動OKの所を探そうと思います。 (常時起による動負荷の方も許可を頂くつもりです。) 専用サーバ等は予算の関係で無理です。 頂いた情報からサーバの機能が関係してくるのでしょうか? すみません、ネットワークの事があまり解っていませんので 実現不可能な質問かもしれませんが。 ●補足 >どのように取得するのか 常時起動しているサーバから一定時間ごとに、HTTPリクエストを 別サーバに送り帰って来たレスポンスのHTMLを解析して必要なデ ータをデータベースに登録させたいのです。 ●頂いた情報から推測した事。 バッチ起動→自己でシステムの権限をもつサーバでないと不可能 な様子ですね Crontab調べてみました所、デーモン関連のコマンドの様ですね、 この様なサーバの機能に頼らずPHPプログラムだけでの実現もしく は、一日一回程度の外部クライアントからのスケジュール情報 の入力(但しセッションは切断される)などではサーバ側PHPを動 かし続ける事はやはり、不可能でしょうか。 お手数お掛けして申し訳ありません。 通常では、この様な処理をさせないかと承知しておりますが、 実現可能な方法があるならなにとぞご教授頂けませんでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CGIから別サーバーのCGIの呼び出し

    以下の二つのサーバーでCGIを動作させようと考えています。  サーバーA:ユーザーからアクセスできる。  サーバーB:サーバーAからアクセスでき、ユーザーからはアクセスできない。 この環境で (1)サーバーAでリクエストを受け、簡単な処理をする。 (2)サーバーA上のCGIからサーバーB上のCGIを呼び出す。 (3)サーバーB上で処理(etc. メールの送信)を行い、処理結果をサーバーAのCGIに返す。 (4)サーバーA上で簡単な処理を行い、結果をユーザーに表示する というような処理を考えています。 perlでは、このような処理を実装することは可能でしょうか? サーバーAからサーバーBにあるスクリプトファイルを読み込んで、サーバーAで実行するということはできそうなのですが、サーバーB上のCGIはサーバーBで実行するというようなことができるのかがわかりません。 初心者的な質問で申し訳ありませんが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • SQL Serverからのvarchar型のデータ取得データ長

    PearのDBを使いSQLサーバーから「varchar(8000)」で宣言したフィールドからデータを取得すると255バイトで切られます(実際にはもっと長いデータが入っている)。”$db->tableinfo(テーブル)”でテーブルの情報をみると問題のフィールドの長さが「[len]=>255」となっています。 何とかサーバー上の型通りの長さのデータを取り出すことはできないでしょうか? 環境は以下の通りです。 ●サーバー OS: WindowsXP SQL Server Ver.: SQL Server 2000の8.0 Developer Edition ●クライアント1 OS: FedoraCore4 PHP Ver.: 5.0.4 FreeTDS Ver.: 0.63 ●クライアント2 OS: WindowsXP PHP Ver.: 5.0.5 ※クライアント1、2のDBはそれぞれバンドルされているPearを実行インストールしました。 サーバー⇔クライアント1 サーバー⇔クライアント2 共に長さ255で切られる。 AccessでODBC経由で取得した場合はデータ長255以上で取得できました。 何卒宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 別サーバのプログラムを起動

    Aサーバ(xxx.xxx.xxx.xxx)よりBサーバ(yyy.yyy.yyy.yyy)上のプログラムを起動したいと考えております。 PHPのプログラム上"exec"関数などを使用するのかな?と思うのですがどうも上手くいきません。 どなたかご教示下さい。 大まかな流れとしては、 1:Aサーバ上の/home/httpd/test.phpを実行 2:1のtest.phpのプログラム内でBサーバの/home/httpd/test/testb.phpを起動する。 3:処理終了 ※testb.phpはDBに現在日付をinsertする処理となります。 お手数ですが宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • レンタルサーバーであるプログラムを常に走らせておく

    PHPやperlなどが使えるレンタルサーバーで以下のような処理をさせたいのですができますか 1 指定のTwitterアカウントに新しいツィートが投稿されるのを察知 2 そのツィートに含まれる文字列を処理して結果を別のTwitterアカウントでツィートする 1を実現するにはツィートをモニターするプログラムをサーバー側で常に走らせている必要があると思います。htdocフォルダに1を実行するPHPファイルを入れてもクライエントがサーバーにアクセスして処理を頼まない限りサーバー側では何もしてくれませんよね? クライエントの要求なしで常にサーバー側であるプログラムを実行させておくにはどうしたらいいのでしょうか?

  • 別サーバの記述だけ持ってくる方法?

    AとBのサーバがあります。 AサーバにあるPHPプログラム内で BサーバにあるPHPプログラムを実行したいです。 このとき、 Bサーバでプログラムを動かすわけではなく、 記述だけをAサーバのプログラムに持ってきて Aサーバで動いてほしいのですが、 そもそもこんなことは可能でしょうか? 例えば [AサーバのPHP]  $AAA = "あああ";  require("BサーバのPHPのURL"); [BサーバのPHP]  print "AAA=".$AAA; 通常、requireやincludeをすると  AAA= と出力されるところを  AAA=あああ と出力させたいです。 なにか良い方法ございましたらお助け願います。 もちろん、requireやincludeで記述だけ持ってこれたら、 ソースをパクリ放題になるので、できなさそうな気はします。 Bの方の拡張子を変えたらできる!とか、そんなのありますか?

    • ベストアンサー
    • PHP
  • [クライアントからサーバの時刻を取得する]

    [クライアントからサーバの時刻を取得する] 社内LAN環境にてcgiアプリケーションを作成しています。 予約処理のようなものですが、クライアントとサーバの時刻に差が有ると問題が起こる場合が有ります。 タイトルのような文言で検索してみたら、いろいろ検索できたのですが 正しく理解できていないのでどうもうまく組み込めません。 参考URL:http://game.gr.jp/svmix/js/test5.htm setServerTime.jsのURLを社内LAN上のサーバのローカルIPアドレスにしたのですが それだけではサーバの時刻を正しく取得できませんでした。 dynamicLoad('http://game.・・・・・・・・・/getservernow.js')        ↓ dynamicLoad('http://192.168.1.11/getservernow.js') といいますか、どこのサーバの時刻かわからないのですがクライアントとは少し違う時刻を表示します。 どうしたら、サーバマシンの時刻を正しく取得できるのか どなたかアドバイスいただけないでしょうか。 やりたいことは、LAN上の2台のマシンA、Bを使用して、B上のブラウザから Aのマシンの時刻をBで知りたいのですが。。。 よろしくお願いいたします。

  • サーバーに送られたデータを計算して返す場合

    クライアントの方で「1+2」のデータをサーバー側に送信して、結果を返しなさいというプログラムを書くとします。 クライアント <html><body>ここにフォームと送信ボタン<br><br><center>XXX</center></body></html> サーバー側で計算した結果をクライアント側に書かれているXXXXという所に返したいとします。PHPで計算してサーバー側でクライアントと全く同じhtmlを書いてあげれば計算した結果を返すことができます。$iと$jはクライアントから <PHP? $z=$i+$j; print "<html>....<center>$z</center>..... というような(上は適当)PHPで計算した結果を所定の場所に埋め込んで、あとはPHPでhtmlを書き出せばユーザーからは計算された結果が返されたというようになります。 このコードは短いですが、商業用のページとかもの凄い量のhtmlのコードが書かれているわけですが、例えば1000行くらいのhtmlがあって、そのページの中で上記の簡単な計算のみ返すプログラムが欲しいとすると、サーバー側では同じ1000行文のhtmlとPHPによる計算が必要になりますが、わざわざ1000行もhtmlをサーバー側でやるのは面倒です。実際こういう場面ではどのように処理をするのが的確なんでしょうか?よろしくお願いします。

    • ベストアンサー
    • PHP
  • 別サーバーのデータベースに、データを加えたい。

    urizakaです。 現在、RedHatLinux6.2 + postgresSQL7.1でシステムを組んでいるのですが、その中で以下のような仕組みが作れるかどうかを知りたいのですが・・・ ・毎日一定時間になるとサーバーBのcronがストアドプロシジャーを実行し、別サーバーA(実際には複数あります)の規定のテーブルAを見て、予め定められた条件に該当するデータ(具体的には今日、登録されたデータ)だけを抜き取り、自分のデータベースのテーブルBにデータを登録する。 ・その後、サーバーBのcronは別のストアドプロシジャーを実行し、自分のデータベースのテーブルCに納められたデータのうち、やはり予め定めておいた条件に該当するものだけをサーバーAのデータベースのテーブルDに収める。 PerlやJavaのファイルを毎日一定時間にcronに実行させて、これらの動作を行う方法については見当が付くのですが、できればこれらの言語に頼らないでcronやストアドプロシジャーだけでこれらの処理を実行したいと考えているのですが、ストアドプロシジャーを実行させて別のサーバーのデータベースから取り出したデータをどうやって自分のデータベースに納めるかが分かりません。 尚、この仕組みで使われているサーバーのOSは全てRedHatLinuxで、データベースは全てPostgresSQL7.1です。 すみませんが、もし、この方法をご存知の方がいらっしゃったら教えてください。 よろしくお願いします。

  • 外部サーバーからのパラメータ取得について

    外部サーバーからimgタグにて出力したパラメーターを取得するにはどうすればよいでしょうか。 サーバーA php内で出力 <img src=http://bbb.net/get.php?id=1> サーバーB(http://bbb.net/get.php) get.php内で $_GET(id) で取得を試みたのですができませんでした。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Webサーバ経由で別のWebサーバにアクセス

    クライアントPCから、WebサーバAにアクセスし、WebサーバBのWebページを見たいです。 理由は、WebサーバBはWebサーバA(のIPアドレス)からのアクセスしか受け付けず、 クライアントから直接WebサーバBにアクセスできないためです。 WebサーバAにアプリケーションをインストールしたり、設定を変える権限はありますが、 できるだけアプリケーション側でそのようなことができるようにしたいです。 宜しくお願い致します。

このQ&Aのポイント
  • EF12のインジケーターが青色点滅していて、映像はうつるが音声が出ない問題について解説します。
  • EF12の説明書にはインジケーターが青色で点滅するとウォームアップ中であると記載されていますが、問題が解消されない場合は故障の可能性があります。
  • EPSON社製品であるEF12のホームプロジェクターのインジケーターが点滅して音声が出ない場合、以下の対処方法を試してみてください。
回答を見る

専門家に質問してみよう