はい、可能です。しかし、JSON API
を作成する必要があります。サーバpostgresql
は、データベースから結果を取得し、次にjson
にjson_encode()
メソッドでエンコードし、echo
で返します。
その後、あなたはからHTTPリクエストを行う必要があるが、CURL
を使用してを共有ホスティング、ここでの例です:次に
function GetContent($url) {
$curl = curl_init();
$ua = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl ,CURLOPT_USERAGENT, $ua);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$return = curl_exec($curl);
curl_close($curl);
return $return;
}
、関数を呼び出す:
$sql = json_decode(GetContent('http://urlofyourserver/testJSON.php'));
することができます今度は$sql
変数の結果を得る:)
ああ、忘れないでください、$_GET
リクエストを使ってパスワードを要求して、あなたのサーバー上でpostgresqlを提供するようにしてください。そうしないと、サーバーのURLを見つけたら誰もがデータにアクセスできます。
例えば:http://urlofyourserver/testJSON.php?secret=xxx
また、GETパラメータとしてクエリを渡すことができますが、パスワードが割れている場合は危険にさらしたことができます。
PostgreSQLサーバのサンプル
$realPass = "blablah";
if(isset($_GET['secret'])) {
$pass = $_GET['secret'];
if($pass === $realPass) {
header('Content-type: application/json');
// do query here and return it as $test var
echo json_encode($test);
}
}
はい、ただ一つのPHPスクリプトから他のサーバ上のPHPスクリプトにHTTPリクエスト(または他のタイプのリクエスト)を行い、必要なものを出力させてください。 –
はい、APIを作成してください。 IP /ドメインがユーザーに公開されないように、要求サーバー側を送信します。 –
サーバAはサーバBからデータをダウンロードし、そのデータを自分のユーザに送信することができます。もちろん、これはServer Aでの帯域幅消費を2倍にし、ユーザーにとってもかなり遅くなることに注意する価値があります。 (イメージのすべてのリクエストは、サーバーAが最初にサーバーBからイメージをダウンロードしてから*ユーザーにアップロードすることになります) – David