Heim >Backend-Entwicklung >PHP-Tutorial >普通的表单登陆怎么修改成php curl模拟表单登陆

普通的表单登陆怎么修改成php curl模拟表单登陆

WBOY
WBOYOriginal
2016-06-23 14:01:38974Durchsuche


<form method="post" action="2.php">    用户名: <input type='text' name="loginname"><br>	密码:<input type="password" name='loginpass'><br>	<input type='submit' value="submit"></form>


2.php
header('Content-Type:text/html;Charset=utf-8');if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {      header('location:http://bbs.csdn.net');} else {     } 

请教一下这样的表单怎么修改成模拟登陆 我是这样写的为什么不对呢 
新建一个1.php
header('Content-type:text/html;Charset=utf-8');  $user = 'lee';       //登陆用户名   $pass = '123456';    //登陆密码   $post_fields = "loginname={$user}&loginpass={$pass}";$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch);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);

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.php

header('Content-type:text/html;Charset=utf-8');  $user = 'lee';       //登陆用户名   $pass = '123456';    //登陆密码   $post_fields = "loginname={$user}&loginpass={$pass}";$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);curl_exec($ch);curl_close($ch);

2.php
 header('Content-Type:text/html;Charset=utf-8');if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {     header('location:http://bbs.csdn.net');} else {      }

执行1.php 还是空白 并没有实现跳转

#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>
    


  
  
    
    
  
   <br>      <br>      <br>   

  谢谢大家的帮忙

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn