PHP CURL模拟登录有关问题,欢迎围观,即使不会解答也一定会有收获
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这个类,试试