Php curl不写cookies
我尝试使用json数据登录,服务器响应登录成功,但它不会将会话写入Cookie,我的代码:Php curl不写cookies,php,curl,login,https,external,Php,Curl,Login,Https,External,我尝试使用json数据登录,服务器响应登录成功,但它不会将会话写入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_RETURNTRANS
<?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,但它们没有写入我的浏览器。使用服务器端curl请求创建的cookie无法发送到浏览器。不能为运行脚本的域以外的域设置cookie。e、 g.您不能让PHP代码登录到facebook,并将facebook会话令牌传输回用户,使其在实际的facebook站点上可用。如果您尝试,您会发现浏览器确实使用您设置的名称/值设置了cookie,但它仅限于您的站点,而不是facebook.com您需要添加cookie文件才能保存和读取它们:
curl_setopt($s,CURLOPT_COOKIEJAR,"ciasteczka.txt");
curl_setopt($s,CURLOPT_COOKIEFILE,"ciasteczka.txt");
(ciasteczka是波兰语中的cookies)对,换句话说,在该数组中,您需要添加两个新键(CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE),这两个键的值都是具有写入权限的文件的路径on@mark-b是的,我想是这样,但是有什么解决办法吗?如何在客户端发送json数据?我需要类似这样的东西,但是需要json数据POST。你不能,如果你想让饼干起作用就不行。要么用户直接提交到您试图让他们登录的站点,这样Cookie就可以工作,要么您代理他们所做的一切。