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

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

WBOY
Freigeben: 2016-06-23 14:01:38
Original
973 Leute haben es durchsucht


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


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

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


回复讨论(解决方案)

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);
Nach dem Login kopieren

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

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

  谢谢大家的帮忙

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage