【发布时间】: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 有什么区别?谢谢。
【问题讨论】: