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

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

WBOY
Release: 2016-06-23 14:01:38
Original
963 people have browsed it


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


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

请教一下这样的表单怎么修改成模拟登陆 我是这样写的为什么不对呢
新建一个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);
Copy after login


回复讨论(解决方案)

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);
Copy after login

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

执行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>   

  谢谢大家的帮忙

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template