首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP CURL模拟登录有关问题,欢迎围观,即使不会解答也一定会有收获

2013-02-02 
PHP CURL模拟登录问题求救,欢迎围观,即使不会解答也一定会有收获$post_fields[zjh]$this-username$po

PHP CURL模拟登录问题求救,欢迎围观,即使不会解答也一定会有收获

$post_fields['zjh']=$this->username;
$post_fields['mm']=$this->password;

$ch = curl_init($this->login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie_file);
$str=curl_exec($ch);
curl_close($ch);


这是一个类中的代码片断,作用是模拟登录,但发现一个问题,那就如果提交的密码以@开头,那CURLOPT_POSTFIELDS部分就认为提交了一个文件,这样导致登录失败。如何解决这个问题?
CURL的说明在 http://cn2.php.net/curl_setopt

如果你不会解答,没关系,想一想从这里是不是得到了一个启发?为了防止自己的网站被CURL登录抓取,可以想办法弄个以@开头的必需提交的表单项,这样我这种模拟登录就失效了。。。

谁会解答啊。。谢谢
[解决办法]
本帖最后由 xuzuning 于 2013-01-25 09:26:17 编辑 历史会说明一切
php-curl封装[避免上传文件二义性Bug]
[解决办法]
用httpclient.class.php这个类,试试

热点排行