2009-09-02 14 views
1

私は提供していないサイトのAPIのように動作するPHPスクリプトを作っています。私はそれのためにカールを使用しており、サイトはjavascriptでクッキーを掲示しているので、私はそれらを読むことができません。PHPでJavascriptのクッキーを読む方法

javascriptを読み込んでクッキーを保存し、カールを付けて上記のページに再送信させるPHPクラスまたはPHPモジュールはありますか?

私はどこかで、PHPをJavaから読み込むことができるので、JS/PHPに似た方法があるかもしれません。

+0

http://pecl.php.net/package/spidermonkeyそれを行う方法ですか? – Chris

+0

「サイトがJavaScriptでクッキーを投稿しています」と言うとき、あなたは何を意味しますか? –

+0

私は、サイトがjavscriptのsetCookie()関数でクッキーを設定していることを意味します。それがPHPで設定されている場合、私はそれをcUrl関数から読み取ることができます。 – Chris

答えて

5

あなたの最善の策は、PHPからCookieを試してみることです。 JavascriptはPHP自身とは話せませんが、PHPが作成したCookieを取得できます。

http://php.net/manual/en/features.cookies.phpが言うことになります:$の_COOKIE自動グローバル配列に

クライアントから送られた全てのクッキーが自動的に含まれます ...

・ホープ、このことができます!

+0

あなたが探しているかもしれないhttp://www.php.net/manual/en/function.setcookie.php – darkAsPitch

0

あなたのスクリプトはサイトとクライアントの間にあるようですね。例えば。クライアントはあなたのAPIを呼び出し、あなたはクライアントになりすましてサイトにログインし、結果を返すでしょうか?

もしそうなら、サイトが設定したすべてのクッキーは、ページのヘッダーを介して返されます。ページをリクエストする前に

curl_setopt($handle, CURLOPT_HEADER, true); 

と呼び出すことでアクセスできます。返されたページを取得すると、開始時にHTTPヘッダーが作成されます。次に、ヘッダーで「set-cookie」行を検索し、サイトがクライアントを送信しようとしているクッキーの詳細を含めます。

+0

javascriptで設定されたクッキーはクライアント側で設定されているため、サーバーからの応答には含まれません。 – Cyclonecode

1

あなたは、クッキーを書き、phpを使ってそれを複製しようとするjavascriptのロジックをチェックする必要があります。 javascriptがクライアント側で動作しているため、スクリプトまたはJavaScriptによってCookieが設定されているかどうかをサーバーが確認することはできません。

関連する問題