0

実際にphpを使用してWebサイトにアクセスしなくても、変数を別のWebサイトに送信できるようにしたいと思います。

配送倉庫を外部委託しているeコマースサイトを構築しています。その人が商品をチェックアウトした後、$ _GET['vars']を使用していくつかの変数を荷送人のWebサイトに送信したいと思います。これは完全に異なるURLです。問題は、その人が実際に荷送人のWebページにアクセスしたくないということです。あそこの情報にpingを送信したいだけです。

あなたのサイトを離れることなく、URLを介して別のサイトに変数を送信することは可能ですか?

4

4 に答える 4

1

はい、できます。最も簡単な方法:

 $contents = file_get_contents("http://example.com/some/page.php?var=abcd");

より高度な機能については、Curlを参照してください。

于 2012-05-28T03:09:07.477 に答える
1

関連するすべての注文情報をデータベース内に保存し、cron を使用して未処理を処理するスクリプトをトリガーする必要があります。このようにして、アウトソース サイトへのリクエストの前に、注文に対して体系的なチェックを行うことができます。ユーザーのブラウザーに依存して、注文プロセスのカーテン ポイントに到達して API 呼び出しをトリガーしたり、送信前にトリプル クリックや値の挿入を行わないと信頼したりしないでください。

そして、curl todo を使用して実際のリクエストを高速化することをお勧めします。次のような簡単なもの:

<?php 
function curl_do_api($url){
    if (!function_exists('curl_init')){
        die('Sorry cURL is not installed!');
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}
?>
于 2012-05-28T03:46:45.780 に答える
0

実際には、これを解決するためのより簡単な方法があります... ajax
を使用して 、jqueryヘッダーを最初に
ここで参照して
くださいhttp://api.jquery.com/jQuery.ajax/

于 2012-05-28T04:14:47.190 に答える
0

どちらも正しいので、探しているセキュリティに基づいて選択する必要があります。

cURL はより安全になるため、クエリ文字列で引数を渡したくない場合は cURL を使用する必要があります。file_get_cotents("URL?data=value"); を使用してデータを渡すと同時に、渡されるデータには約 2k の制限があります。

一方、cURL は、https で使用すると安全になります。はるかに安全です。cURL を使用すると、ファイルを投稿したり、フォーム投稿をエミュレートしたりすることもできます。

于 2012-05-28T04:00:40.740 に答える