• 締切済み

POSTでQueryを投げるには?

PHPで外部(別サーバ)のCGIにクエリーを投げることは出来ますか?

  • basil
  • お礼率31% (40/127)
  • PHP
  • 回答数5
  • ありがとう数15

みんなの回答

noname#25358
noname#25358
回答No.5

 ASPの場合、他のサーバーにクエリーを投げるときは、COMとMTSを経由します。こうすることでGETでの送信を回避します。  COMとは、ネットワーク関連のシステムで今メジャーなDLL仕様のことです。そしてMTSは、メッセージ・トランスファー・サービスというような感じの言葉の略称で、サーバー間で簡単にCOMを相互呼び出ししたりするプログラムのことです。  しかし、COMとかMTSとか、そういうのはCGIの知識のほかに、サーバー/クライアントシステムに関する詳しい知識も必要ですし、設備にけっこうお金がかかったりします。  もしそれだけの設備投資をしてでもやらなければならない、ということであれば可能です。それにたしか、COMはPHPでもできないことはないと思います。

noname#25358
noname#25358
回答No.4

 残念ですが、裏技に関しては分からないです(^_^;  COMとかASPとかコールドフュージョンを使うとか、そういう方向でいくのでしたら別ですけど……。  お金がかかりますよ(^_^;  (←PHPについては素人だけどASPとかに付いてはプロ)

basil
質問者

補足

リアクションが遅くなって失礼しました。 ASPでは可能なんですか? PHPでもできたらいいのに。。。 大き目のパラメータを送るときや ユーザに見えない形でパラメータを送るときなどは どうしてもPOSTメソッドで送りたいんですよね。。

noname#25358
noname#25358
回答No.3

 補足見ました。  よっぽど変な裏技とか使えば可能なのかも知れませんが、それよりはGETを使った方がいいです。たかだかそれだけのために苦労するだけの価値があるとは思えないので(^_^;

basil
質問者

補足

やっぱり不可能なんでしょうか? 可能か不可能かだけでも知りたいのですが...。 また“裏技”なるものがあるならそれについても情報をいただけると嬉しいです。 こうなってくると、可能性があるかぎり端から一つずつ潰してゆきたいタイプなんです。(性格暗い?)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

どのような状態で、何をしたいのかが不明なので推測で回答します。 単純に、他のサーバ上のCGIへパラメータを渡したいのであれば、 現在表示している<FORM ACTION="xxx.cgi" METHOD="XXX">で、 ACTIONの設定で「xxx.cgi」となっているところを 「http://xxx.demohost.net/cgi/bin/xxxx.cgi」とURLの形で 記述してあげれば良いと思います。 または、すでに、submit後のphpファイルの中なのであれば、 Header("Location: http://xxx.demohost.net/cgi-bin/xxxx.cgi?param1=x¶m2=y"); と記述すれば、良いと思います。 ただし、この場合は、Header(...);より前にecho等の出力をしてはいけなかったと思います。

basil
質問者

補足

他サーバで運用中の集計システムに対しての新たなインターフェイスを設計しているのですが、既存のシステムがQueryをPOST経由で取得する仕組みになっているんです。 今回設計中のものはPHPを使って開発しているので、パラメータ引渡しのところで行き詰まってここでHELP!と言うわけです。 いったんフォーム生成してクライアント側に送りクライアント側からSUBMITさせるか、CGIを挟んでパラメータを飛ばすかしか無いんでしょうか? できればPHPだけでスマートに作りたいんですが...。

noname#25358
noname#25358
回答No.1

 PHPは専門外なのですが、基本的にPOSTメソッドは同一サーバー内にあるCGIにしかクエリーを投げることはできないので、GETメソッドで投げるしかないと思います。

basil
質問者

補足

クライアント側からFORMをSUBMITするように、サーバ側から第3のサーバに対してPOSTでQueryを投げることは不可能なんですか?

関連するQ&A

  • SQLクエリを外部から読み込む

    PHPでmysql_query関数を使ってSQLを打つ際、クエリの内容を外部ファイルから読み込むことは可能でしょうか? hoge.sqlというファイルにSQL文を書いて、その内容をmysql_queryに渡したいのですが。

    • ベストアンサー
    • PHP
  • クエリデータ

    PHP+MySQLで構築した会員登録時のクエリデータを調べたいのですが、 どうやって調べれば良いでしょうか? どなたかご存知の方お手数ですが、ご教授宜しく お願い致します。 サーバは共有サーバ(ロリポップ)を使っております。

    • ベストアンサー
    • PHP
  • クエリーからクエリーを呼ぶことって?

    クエリーから別のクエリーを呼ぶことってできますか? よろしくお願いします。

  • FlashのPost受け取り

    FlashのPost受け渡し方法が分かりません。 ネットで検索するとFlash→CGI→Flashや、外部テキストの読み込み方法などはたくさんヒットするのですが、CGI→Flash、HTMLフォーム→Flashというような目的のものは見つかりませんでした。 POST渡しで外部ファイル名を渡し、その外部ファイルからテキストを読み込んで、ダイナミックテキストで表示するというものを作ろうと思っています。 この場合はどのアクションを使うと良いのでしょうか? LoadVars()? loadVariables()? sendAndLoad()? ネットで検索した情報から色々試してみてはいるのですが、全く分かりません。助けてください! 環境: Windows XP Flash MX PHP 4.2.4 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • POSTとGETについて

    POSTとGETについて2点質問が御座います。 PHPは最近手を付け始めましたので、初心者です。 (1)PHPでPOSTとGET両方使うことは出来ますでしょう   か? 内容:PHPファイルからCGIに値を引きつきたいのですが、テキストエリアのフォーム(POST)とCGIのリンク先に"hogehoge.php?id=xxxx"とGETのxxxxとPOSTのテキストエリアに記載した内容を2つ引き継ぎたいのですが、GETの方の値がCGIで反映されていません。 POSTとGETの両方引きつぎたいときはどのようにすれば良いでしょうか? (2)また(1)とは、別の話ですが、GETだけで2つの情報を引き継ぐことは可能でしょうか? "hogehoge.php?id=xxxx,?id2=yyyy"のようなイメージでxxxxとyyyyの両方を渡したいと思ってます。 どうかご教授宜しくお願い致します。

    • ベストアンサー
    • PHP
  • apache クエリー文字

    *.cgiをmod_rewriteでfunction.cgiに飛ばし、function.cgiから危険な関数等を見つけたらエラーを返し、問題がなかったら元の*.cgiを読み取る簡易スクリプトを書いたのですが、URL上で*.cgiにクエリ文字を追加すると500エラーが出るのですが、どういうことなんでしょうか? URL上でPATH_INFOをつけてからクエリ文字を付与すると正常に表示されます。

    • 締切済み
    • CGI
  • 遷移前のページのクエリを取得したい

    PHPについての質問です。 ブラウザに、 ttp://hogehoge.com/hoge1.php?hoge=moge というページを表示している状態で、そのページ内のリンクをクリックし、そのリンク先は、 ttp://hogehoge.com/hoge2.php というページだとして、この hoge2.php で直前のページ(hoge1.php)の「hoge=moge」という情報を取得したいです。 $_SERVER["QUERY_STRING"] で現在のページのクエリを取得できますよね。 また、 $_SERVER["HTTP_REFERER"] で遷移してくる前のページのアドレスを取得できますよね。 こういう感じで、遷移してくる前のページのクエリを取得する方法はありますか? cookieとかを使うしかないのでしょうか?

    • 締切済み
    • PHP
  • pg_queryは使えるが、pg_query_paramsが使えない

    pg_query_params関数を使いたいのですが使えません。 PHPインストール時に--with-pgsqlの指定をいれており、pg_query関数は問題なく使えております。 モジュールに不足があったのかと思い、extensionで追加インストールしてみましたが変化ありませんでした。(extensionの設定は問題なく有効になっていると思います。) 環境は以下のとおりなのですが、心当たりがあればご指摘いただけないでしょうか。 Linux Apache2.0 PHP5.2.10 PostgreSQL8.0 ■pg_query_params関数について:http://php.net/manual/ja/function.pg-query-params.php

    • 締切済み
    • PHP
  • SQLでクエリを保存@ODBC+Access

    Windows 2000のODBCを利用し、Web(CGI)からデータベースを利用したいと思っています。 サーバとして、Apache 2.0+Active Perlを利用しています。 この環境で、SQL文のみでクエリを保存することは可能でしょうか? また、Accessではクエリを保存しテーブル名のようにSQLでクエリが利用できます。 クエリ保存できた場合、Accessでのように利用ができるのでしょうか? 以上、2点よろしくお願いします。

  • クエリ文字列が取得できない

    以下のようなプログラムを作りました。 test.php -------------- <HTML><BODY> <?php echo($_REQUEST["n"]); ?> </BODY></HTML> -------------- それで http://(省略)/test.php?n=5 とURLをいれて Query Stringから5を取得させて表示させたいのですが ローカルでのテスト(Apache/1.3.27)はうまくいくのですが サーバーにアップロードすると何も表示されません。 他のPHPのプログラムは動くのですが、どうもこの$_REQUEST["n"];の部分がうまくいっていないようです。 プログラムのミスか、設定のミスか、考えられる対処法を教えていただけないでしょうか? 環境 PHP 4.2.2 サーバー:レンタルサーバー(1-man.net) (phpは使えるサーバーです) Dreamweaver MX

    • ベストアンサー
    • PHP