普通的表单登陆怎么修改成php curl模拟表单登陆
<form method="post" action="2.php"><br /> 用户名: <input type='text' name="loginname"><br><br /> 密码:<input type="password" name='loginpass'><br><br /> <input type='submit' value="submit"><br /></form> 2.php
header('Content-Type:text/html;Charset=utf-8');<br />if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {<br /> header('location:http://bbs.csdn.net');<br />} else {<br /> <br />} 请教一下这样的表单怎么修改成模拟登陆 我是这样写的为什么不对呢
新建一个1.php
header('Content-type:text/html;Charset=utf-8'); <br />$user = 'lee'; //登陆用户名 <br />$pass = '123456'; //登陆密码 <br />$post_fields = "loginname={$user}&loginpass={$pass}";<br />$ch = curl_init(); <br />curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');<br />curl_setopt($ch,CURLOPT_POST,1);<br />curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);<br />curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); <br />curl_exec($ch);<br />curl_close($ch); ------解决方案-------------------- echo curl_exec($ch);
另外你的2.php是跳转了,并没有返回内容。
改成echo file_get_contnets('location:http://bbs.csdn.net'); 试试
------解决方案-------------------- header('location:http://bbs.csdn.net');
形成的 http 头
HTTP/1.1 302 Found
Date: Wed, 26 Feb 2014 09:16:38 GMT
location: http://bbs.csdn.net
Content-Length: 0
Content-Type: text/html;Charset=utf-8
你不跟着跳转吗?
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
------解决方案-------------------- #1 不是说了吗?
echo curl_exec($ch);
你不输出结果怎么能行?
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script></script>
CSDN论坛首页 - CSDN.NET
<script></script>
<script><br /> $(function() {<br /> main_page_js.index_page();<br /> });<br /> </script>
Déclaration: Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn