1

json-dataを投稿するcUrlでログインしようとすると、サーバーはログインが成功したことを応答しますが、セッションをCookieに書き込みません、私のコード:

<?php
$json_url = 'https://www.site.com/Login';
$json_string = '{"username":"user","password":"12345"}';

$ch = curl_init( $json_url );

$options = array(
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json;  charset=utf-8') ,
CURLOPT_POSTFIELDS => $json_string
);

curl_setopt_array( $ch, $options );

$result =  curl_exec($ch); // Getting jSON result string
echo $result;
?>

ヘッダーに書き込む必要がある Cookie が表示されますが、ブラウザーに書き込まれません。

4

2 に答える 2

1

それらを保存して読み取るには、Cookie ファイルを追加する必要があります。

curl_setopt($s,CURLOPT_COOKIEJAR,"ciasteczka.txt"); 
curl_setopt($s,CURLOPT_COOKIEFILE,"ciasteczka.txt");

(チャステカはポーランド語でクッキー)

于 2013-02-01T14:57:09.623 に答える
1

サーバー側の curl リクエストで作成された Cookie はブラウザーに送信できません。スクリプトが実行されているドメイン以外のドメインに Cookie を設定することはできません。たとえば、PHP コードを facebook にログインさせて、facebook セッション トークンをユーザーに転送し、実際の facebook サイトで使用できるようにすることはできません。試してみると、ブラウザは設定した名前/値で Cookie を設定することがわかりますが、facebook.com ではなく、あなたのサイトに制限されます。

于 2013-02-01T14:55:32.640 に答える