【问题标题】:Unable to set the cookie in curl无法在 curl 中设置 cookie
【发布时间】:2013-06-12 08:23:08
【问题描述】:

我使用此代码注册网站.. 但它显示“您的会话已过期,请重新登录”

我好像有一些cookie问题...但我不明白是什么问题..

它不是完整的代码。我刚刚发布了它的主要部分......

<?php
session_start();
$r=rand(1,999999999);
$cookie=$r;
$finalcookie="cookie/".$r.".txt";
$_SESSION['cookie']=$r;

$url="http://www.ypox.com";
$login="$url/content/login.html";
$signup="$url/content/signup.action";

$agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0";          


$name="Arijit";
$email="dibbyo456@gmail.com";
$mobile="8798147385";
$cap="captcha";

$data="hidGen=Mr&tfUserName=$name&tfMobileNum=$mobile&tfUserID=$email&date1=10%2F10%2F1980&tfReferCode=&textcode=$cap&checkaccept=on";               

curl_setopt($ch, CURLOPT_URL, $signup);          
curl_setopt($ch, CURLOPT_USERAGENT, $agent);          
curl_setopt($ch, CURLOPT_COOKIEJAR,$finalcookie);          
curl_setopt($ch, CURLOPT_COOKIEFILE,$finalcookie);          
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);          
curl_setopt($ch, CURLOPT_POST, true);          
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);     
curl_setopt($ch, CURLOPT_REFERER, $login); 

$html=curl_exec($ch);
echo $html;

【问题讨论】:

    标签: php curl session-cookies


    【解决方案1】:

    每个 cookie 都有一个唯一的会话 id。服务器使用该 id 跟踪 cookie。在您的代码中,您只需发送带有 cookie 的 curl 请求,但 cookie sessionid 没有记录在服务器上,因为您正在手动生成 cookie 代码.

    【讨论】:

    • 您实际上想在 ypox 上使用这些代码做什么?注册或登录?
    • Cookie JSESSIONID=EE~498CE23596D22E08BA3DCE8892BE0A01.YP05;ypox.com/… 您可以看到该站点正在其 url 上转发 cookie 会话 id 并检查其 cookie。..
    • 这里是:: ypox.com/CaptchaServlet?rd=0.20883007500598882 只需发布一个静态号码.. 你会得到相同的验证码 :) 祝你好运!!
    • 我已经解决了验证码.. 这不是问题。问题是当我运行它并回显 exec 时,它显示“您的会话已过期”
    猜你喜欢
    • 2013-06-13
    • 2023-04-06
    • 2015-03-13
    • 1970-01-01
    • 2020-06-29
    • 2011-12-27
    • 2015-05-20
    • 2013-05-02
    • 1970-01-01
    相关资源
    最近更新 更多