我自己的 php post 和来自 Google Chrome Advanced Rest Client 的 post 有什么区别?
What is the difference between my own php post and the post from Google Chrome Advanced Rest Client?
我正在尝试在我的网站中调用 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 应用程序以相同的参数登录时。
它向我显示了与我使用 php 代码时相同的结果。但是当我访问该网站时它显示我已登录 (another.web.com)。我想知道我的 php 代码和 Advanced Rest Client 之间有什么区别?谢谢。
关于 cookie。
Advanced Rest Client App 使用您浏览器的 cookie。但是 PHP Curl 不是。
我正在尝试在我的网站中调用 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 应用程序以相同的参数登录时。
它向我显示了与我使用 php 代码时相同的结果。但是当我访问该网站时它显示我已登录 (another.web.com)。我想知道我的 php 代码和 Advanced Rest Client 之间有什么区别?谢谢。
关于 cookie。
Advanced Rest Client App 使用您浏览器的 cookie。但是 PHP Curl 不是。