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


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输出控制功能在简繁体转换中的应用
Oct 09 PHP
PHP 抓取网页图片并且另存为的实现代码
Mar 24 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
定义php常量的详解
Jun 09 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
phpquery中文手册
Mar 18 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
十天学会php之第四天
2006/10/09 PHP
php调用mysql存储过程
2007/02/14 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
accesskey 提交
2006/06/26 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
jQuery实现动态向上滚动
2020/12/21 jQuery
JavaScript实现滚动加载更多
2020/12/27 Javascript
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
python查看模块,对象的函数方法
2018/10/16 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
pymysql模块使用简介与示例
2020/11/17 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
个人四风问题原因分析及整改措施
2014/09/28 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
JavaScript 实现页面滚动动画
2021/04/24 Javascript
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis