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


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防注
Jan 15 PHP
php cookies中删除的一般赋值方法
May 07 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
php遍历树的常用方法汇总
Jun 18 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
php session_decode函数用法讲解
May 26 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 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
全国中波电台频率表
2020/03/11 无线电
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
python监控文件或目录变化
2016/06/07 Python
深入理解python中的atexit模块
2017/03/07 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
《手指教学》反思
2014/02/14 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
毕业横幅标语
2014/10/08 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
java实现面板之间切换功能
2022/06/10 Java/Android