別のサイトのeコマースストアとやり取りするためにAPIを使用しているプロジェクトに取り組んでいます。APIを介してバスケットにアイテムを追加し、cURLSCookieJarを使用して状態を保存することができます。チェックアウトするには、メインのeコマースサイトの実際のチェックアウトプロセスにリンクしたいだけです。ただし、CookieJarに保存されているCookieを取得して、リダイレクト要求と一緒に送信できるようにする必要があります。
cURLを使用してCookieを取得し、リダイレクトをたどろうとしましたが、その仕組みを誤解していました。ブラウザをリダイレクトする代わりに、302リダイレクトに基づいて新しいcURLリクエストを発行します。
$curlopt = array(
CURLOPT_COOKIEJAR => xxx, // this is the path to the cookie file
CURLOPT_COOKIEFILE => xxx, // this is the path to the cookie file
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_AUTOREFERER => true,
CURLOPT_URL => 'http://mydomain.com/redirect_to_ecommerce_checkout.php'
);
$ch = curl_init(); // run curl
curl_setopt_array($ch, $curlopt);
curl_exec($ch);
curl_close($ch);
これは正しいCookieをeコマースページに送信しているようです。問題はブラウザがリダイレクトされないことです。代わりに、ドメインのメインのeコマースサイトからHTMLがレンダリングされます。
リクエストCookieを設定して実際にリダイレクトを実行するにはどうすればよいですか?
前もって感謝します。