PHP (おそらく JS が必要) を使用してスクリプトを作成し、別の Web ページに POST データを送信して結果を取得したいと考えています。
たとえば、ドメイン A にはテキストボックスと送信ボタンのあるフォームがあり、ドメイン B にはテキストボックスに入力して送信ボタンを押し、生成された HTML ページを返すスクリプトがあります。
PHP (おそらく JS が必要) を使用してスクリプトを作成し、別の Web ページに POST データを送信して結果を取得したいと考えています。
たとえば、ドメイン A にはテキストボックスと送信ボタンのあるフォームがあり、ドメイン B にはテキストボックスに入力して送信ボタンを押し、生成された HTML ページを返すスクリプトがあります。
次のコード行は、別の php スクリプトで記述できます。
//set POST variables
$url = 'the website from which you need data through post';
$fields = array(
//post parameters to be sent to the other website
'text'=>urlencode($_POST['text']), //the post request you send to this script from your domain.
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
$result には、他の Web サイトから受け取ったテキストが含まれます。
JS の場合: セキュリティ上の理由からそうではありません。Same origin policyをお読みください。
PHP を使用すると、POST
他のサーバーを ing するなど、必要なことを行うことができます。たとえば、CURLを使用します。
---元の2012年の回答---
jqueryを使用します。$ .ajax()呼び出しでページをロードするだけです。必要に応じて、異なるドメインからの呼び出しページ間の制限を回避する「jsonp」を使用できます。
javascriptを使用することの良いところは、サーバーサイド言語が必要ないことです。
---2018編集---
jsonpを使用してPOSTを実行することはできないため(基本的に読み取り専用であるため)、これはWebサイトがフォームをGET(つまり、URLのパラメーター)として受け入れる場合にのみ機能することに気付きました。それ以外の場合は、他の回答で提案されているCurlまたは同様のものを使用するのが最善です。