如何使用脚本模仿登陆过程


Posted in PHP onNovember 22, 2006

查看他的登陆页面的代码, 看他提交到哪个页面, 变量是什么。

<form method="post" action="login.jsp"> 
<table align="center" width="40%" style="FONT-SIZE: 12px" border="0" cellpadding="0" cellspacing="2"> 
  <tr> 
    <td width="30%" align="right" bgcolor="#0073AA" style="FONT-SIZE: 12px;color:#ffffff">name:</td> 
    <td width="70%"><input type="text" size="30" name="username"></td> 
  </tr> 
  <tr> 
    <td width="30%" align="right" bgcolor="#0073AA" style="FONT-SIZE: 12px;color:#ffffff">password:</td> 
    <td width="70%"><input type="password" size="32" name="passwd"></td> 
  </tr> 
  <tr> 
    <td colspan="2" align="right"> 
      <input type="submit" name="submit" value="Login">  
      <input type="button" name="submit" value="regest" onclick="location.href='regest.jsp'"> 
    </td> 
  </tr> 
</table> 
</form>

很明显, 如果你要登陆, 你需要把username, passwd, submit这几个变量post到login.jsp, 而且submit=Login
用以下代码:
<?php 
        $postData = "username=your_name&password=your_password&Submit=Login"; 
        $posturl = "http://......../../login.jsp";         $postUrl = parse_url($posturl); 
        $host = $postUrl[host] ? $postUrl[host] : ""; 
        $port = $postUrl[port] ? $postUrl[port] : 80; 
        $path = $postUrl[path] ? $postUrl[path] : "/"; 

        $fsp = fsockopen($host, $port, &$errno, &$errstr, 30); 
        if(!$fsp){ 
                print "\nopen socket failed\n"; 
        }else{ 
                fwrite($fsp, "POST ".$path." HTTP/1.1\r\n"); 
                fwrite($fsp, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n"); 
                fwrite($fsp, "Accept-Language: zh-cn\r\n"); 
                fwrite($fsp, "Content-Type: application/x-www-form-urlencoded\r\n"); 
                fwrite($fsp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)\r\n"); 
                fwrite($fsp, "Host:".$host."\r\n"); 
                fwrite($fsp, "Content-Length: ".strlen($postData)."\r\n\r\n"); 
                fwrite($fsp, $postData); 
                $resp = ""; 
                do{ 
                        if(strlen($out=fread($fsp, 1024)) == 0) break; 
                        $resp .= $out; 
                }while(true); 
                echo "<br><br>".nl2br($resp); 
                fclose($fsp); 
        } 
?>
PHP 相关文章推荐
两种php调用Java对象的方法
Oct 09 PHP
PHP 高手之路(三)
Oct 09 PHP
PHP学习笔记之二
Jan 17 PHP
php记录日志的实现代码
Aug 08 PHP
php 保留字列表
Oct 04 PHP
PHP之短标签开启设置
Jun 17 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
php5 and xml示例
Nov 22 #PHP
PHP中的类-什么叫类
Nov 20 #PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 #PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 #PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 #PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 #PHP
echo(),print(),print_r()之间的区别?
Nov 19 #PHP
You might like
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
Vue响应式原理详解
2017/04/18 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python psutil模块使用方法解析
2019/08/01 Python
python框架django项目部署相关知识详解
2019/11/04 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
环境工程求职简历的自我评价范文
2013/10/24 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
论文诚信承诺书
2014/05/23 职场文书
大学新闻系求职信
2014/06/03 职场文书
批评与自我批评范文
2014/10/15 职场文书
岗位聘任协议书
2015/09/21 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js