>백엔드 개발 >PHP 튜토리얼 > PHP CURL模拟登录有关问题,欢迎围观,即使不会解答也一定会有收获

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

WBOY
WBOY원래의
2016-06-13 12:55:04859검색

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

		$post_fields['zjh']=$this->username;<br />
		$post_fields['mm']=$this->password;<br />
<br />
		$ch = curl_init($this->login_url);<br />
		curl_setopt($ch, CURLOPT_HEADER, 0);<br />
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br />
		curl_setopt($ch, CURLOPT_POST, 1);<br />
		curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);<br />
		curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie_file);<br />
		$str=curl_exec($ch);<br />
		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这个类,试试
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.