【问题标题】:What is the difference between my own php post and the post from Google Chrome Advanced Rest Client?我自己的 php 帖子和 Google Chrome Advanced Rest Client 的帖子有什么区别?
【发布时间】:2015-06-16 12:42:47
【问题描述】:

我正在尝试在我的网站中调用 php 以登录到另一端。这是我的代码:

//set POST variables
$url = 'https://another.web.com/login.do';
$data = array('loginname' => 'username', 
    'password' => 'password', 
    'act' => 'ajaxLogin2Json', 
    'app' => 'oauth2', 
    'callback' => 'login_callback' );

//url-ify the data for the POST
foreach($data as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_COOKIESESSION, true);
curl_setopt($ch,CURLOPT_HTTPHEADER, array(
                                        'Content-Type: application/x-www-form-urlencoded'
                                        ));     
curl_setopt($ch,CURLOPT_USERAGENT, 'Mytest');
curl_setopt($ch,CURLOPT_POST, count($data));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);    

它显示我登录成功。但是当我进入网站时,它仍然显示我没有登录。

但是当我使用 Google Chrome 的 Advanced Rest Client App 使用相同的参数登录时。

它向我显示了与我的 php 代码相同的结果。但它显示我在访问网站 (another.web.com) 时已登录。我想知道我的 php 代码和 Advanced Rest Client 有什么区别?谢谢。

【问题讨论】:

    标签: php oauth-2.0


    【解决方案1】:

    这是关于 cookie。
    Advanced Rest Client App 使用您浏览器的 cookie。但 PHP Curl 不是。

    【讨论】:

    • 这是我猜的。我的问题是是否可以在我的 PHP curl 代码中使用 cookie?谢谢
    • @bagusflyer 您不能为另一个域设置 cookie,因此您不能将 PHP CUrl 中的 cookie 用于您的浏览器。解决方案:使用javascript向您要登录的网站提交登录表单。
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2012-11-10
    • 2012-01-24
    • 2018-11-06
    • 2017-05-10
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多