2011-05-25 151 views
0

我尝试使用phpcommand:curl提交登录表单,但它不起作用。 字段格式为两个:email和psw。 问题是,如果我使用urlencode字段的电子邮件它返回错误:“不正确的格式电子邮件!”,而如果我不使用urlencode没有响应。使用curl进行远程登录(php)

这是没有用urlencode代码:

$url = 'myurl'; 
$fields = array(
     'login_email'=> '[email protected]', 
     'login_passwd'=> 'mypsw', 
    'remember_me' => '1' 
    ); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return page in string 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
$page = curl_exec($ch); 
echo $page; 

//close connection 
curl_close($ch); 
+0

......好吧,显然,我们需要看看处理登录的代码... – rockerest 2011-05-25 15:09:13

回答

3

你肯定有没有反应?如果登录成功,许多登录系统只是重定向到其他页面。尝试添加

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

这使得CURL服从重定向并获取服务器发送给您的任何页面。

或者,您可以使用CURLOPT_HEADER选项在返回到您的$page值的响应中包含HTTP标头,并查看其中发生了什么。

+0

我获得解决方案!!!我使用这个类:http://www.sv-design.org/blog/php-classe-curl-come-gestire-le-richieste-e-i-login-remoti-con-php/ – Dany 2011-05-25 15:21:34

+1

没有parlo Italiano? – 2011-05-25 15:22:41