密码验证指的是显示一个图片让你输入验证码?这貌似就不可能实现了
如果只是需要一个密码,那它是怎么接受密码的呢?直接post过去不行吗?

解决方案 »

  1.   

    给你一例子:
    <?
    /******************************************************************************
    Filename              : post_class_example.php
    Author                : 
    Date/time             : 
    Purpose               : 
    Description           : 模拟POST数据提交接口示例
    Revisions             : 向地址:http://www.example.com/register.php POST数据
    ******************************************************************************/
    error_reporting(0);
    //要post的数据 
    $argv = array(
         'username'=>'abc', 
         'password'=>'abc', 
         'email'=>'[email protected]'
    );
    $server="www.example.com";
    $port=80;
    $url="/register.php";
    $host="www.example.com";
    $referer="http://www.xxx.com";//这里可以写你自己的网站地址require_once("post_class.php");
    $post = new DoPost();
    $return = $post->_post($server,$port,$url,$host,$referer,$argv);
    echo $return;
    ?>
    <?
    /******************************************************************************
    Filename              : post_class.php
    Author                : 
    Date/time             : 
    Purpose               : 
    Description           : 模拟POST数据提交接口
    Revisions             : 
    ******************************************************************************/
    class DoPost
    {

        var $flag = 0;
        var $return = "";
         
         /**
          * 提交POST数据
          *
          * @param string $server POST请求服务器IP或域名地址
          * @param int $port POST请求服务器端口
          * @param string $url POST请求地址
          * @param string $host POST请求主机地址
          * @param string $referer POST请求REFERER地址
          * @param string $argv POST请求参数
          * @return string POST请求返回串
          */
         public function _post($server,$port=80,$url,$host,$referer,$argv=Array())
         {
    //构造要post的字符串 
    foreach ($argv as $key=>$value) 

          if ($this->flag!=0) 
          {
                  $params .= "&"; 
                  $this->flag = 1; 
          } 
          $params.= $key."="; $params.= urlencode($value); 
          $this->flag = 1; 
          } 
         
          $length = strlen($params);
         
          //创建socket连接 
          $fp = fsockopen($server,$port,$errno,$errstr,10);
          if(!$fp)
          {
          return ("ERROR:".$errno); 
          }
          //构造post请求的头 
          $header = "POST ".$url." HTTP/1.1\r\n"; 
          $header .= "Host:".$host."\r\n"; 
          $header .= "Referer:".$referer."\r\n"; 
          $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
          $header .= "Content-Length: ".$length."\r\n"; 
          $header .= "Connection: Close\r\n\r\n";
          //添加post的字符串 
          $header .= $params."\r\n"; 
          //发送post的数据
          fputs($fp,$header); 
          $inheader = 1; 
          while (!feof($fp)) {
          //去除请求包的头只显示页面的返回数据 
             $line = fgets($fp,1024); 
                if ($inheader && ($line == "\n" || $line == "\r\n")) {
                 $inheader = 0; 
                } 
                if ($inheader == 0) { 
                    $this->return .= $line; 
                }
    }
    fclose($fp);
    return $this->return; 
         }
    }
    ?>
      

  2.   

    谢谢,你知道$header   =   "POST   ".$url."   HTTP/1.1\r\n";   
              $header   .=   "Host:".$host."\r\n";   
              $header   .=   "Referer:".$referer."\r\n";   
              $header   .=   "Content-Type:   application/x-www-form-urlencoded\r\n";   
              $header   .=   "Content-Length:   ".$length."\r\n";   
              $header   .=   "Connection:   Close\r\n\r\n"; 
    这里怎么加nt验证信息吗?比如用户名密码