2012-03-03 21 views
0

私はCURLを使用してjson値を取得するために別のドメインにphp経由でリクエストを行いますが、curlが一時セッションを使用することはわかりますが、ここに私のコードが...私はブラウザセッションを維持することができる方法CURLを使用してブラウザセッションを維持するためのクロスドメイン

// create curl resource 
    $ch = curl_init(); 

    // set url 
    curl_setopt($ch, CURLOPT_URL, "http://api.json"); //api.json is displaying value from session 

    //return the transfer as a string 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    curl_setopt($ch, CURLOPT_COOKIESESSION, true); 

    // $output contains the output string 
    $output = curl_exec($ch); 

    // close curl resource to free up system resources 
    curl_close($ch); 

ある

+0

ブラウザセッションとはどういう意味ですか?このスクリプトを呼び出すときに使用されたセッションですか? –

+0

ええと私はjsonの要求を呼び出すときに私は現在のセッションを持っている必要があります... –

答えて

0
 $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL,$url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
     $cookie_value = $cookie_name.'='.$_SESSION[$cookie_name]; 
     curl_setopt($ch, CURLOPT_COOKIE, $cookie_value);    
     $xml_contents = curl_exec ($ch); 
     curl_close ($ch); 
     return $xml_contents; 

作品ヘッダに接続します。

1

あなたは、ファイルへのすべてのCookieを保存する(documentationを参照)CURLOPT_COOKIEJARオプションを使用することができます。このファイルを後でCURLOPT_COOKIEFILEオプションを使用してインポートすると、指定したjarファイルに保存されているすべてのCookieが送信されます。スクリプトの実行の間に永続的なセッションを維持するためにあなたのコードに基づいて

例:あなたはクッキーを保存する必要がある。このため、次の要求で

// create curl resource 
$ch = curl_init(); 

// set url 
curl_setopt($ch, CURLOPT_URL, "http://api.json"); //api.json is displaying value from session 

//return the transfer as a string 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

// Set the cookie jar for both importing and exporting 
curl_setopt($ch, CURLOPT_COOKIEFILE, "curl-cookie-session.tmp"); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "curl-cookie-session.tmp"); 

// $output contains the output string 
$output = curl_exec($ch); 

// close curl resource to free up system resources 
curl_close($ch); 
+0

しかし、それは現在のブラウザのためだけに保存​​されますか? –

+0

@ user1245078あなたは何を意味するのか分かりませんが、あなたのクッキーに対する心配は他の訪問者には再利用できませんか? cookieをjarファイルに保存すると、スクリプトを別々に実行してもそれらを再利用できます。 –

+0

ohkこれを実行する特定のコードはありますか? –

関連する問題