5

PHP (おそらく JS が必要) を使用してスクリプトを作成し、別の Web ページに POST データを送信して結果を取得したいと考えています。

たとえば、ドメイン A にはテキストボックスと送信ボタンのあるフォームがあり、ドメイン B にはテキストボックスに入力して送信ボタンを押し、生成された HTML ページを返すスクリプトがあります。

4

3 に答える 3

6

次のコード行は、別の 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 サイトから受け取ったテキストが含まれます。

于 2012-06-14T09:47:08.720 に答える
1

JS の場合: セキュリティ上の理由からそうではありません。Same origin policyをお読みください。

PHP を使用すると、POST他のサーバーを ing するなど、必要なことを行うことができます。たとえば、CURLを使用します。

于 2012-06-14T09:34:40.813 に答える
-1

---元の2012年の回答---

jqueryを使用します。$ .ajax()呼び出しでページをロードするだけです。必要に応じて、異なるドメインからの呼び出しページ間の制限を回避する「jsonp」を使用できます。

javascriptを使用することの良いところは、サーバーサイド言語が必要ないことです。

---2018編集---

jsonpを使用してPOSTを実行することはできないため(基本的に読み取り専用であるため)、これはWebサイトがフォームをGET(つまり、URLのパラメーター)として受け入れる場合にのみ機能することに気付きました。それ以外の場合は、他の回答で提案されているCurlまたは同様のものを使用するのが最善です。

于 2012-08-23T08:56:29.007 に答える