zoukankan      html  css  js  c++  java
  • php 模拟POST提交的2种方法

    1.通过curl函数 

    $post_data = array();
    $post_data['clientname'] = "test08";
    $post_data['clientpasswd'] = "test08";
    $post_data['submit'] = "submit";
    $url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';
    $o="";
    foreach ($post_data as $k=>$v)
    {
        $o.= "$k=".urlencode($v)."&";
    }
    $post_data=substr($o,0,-1);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL,$url);
    //为了支持cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    $result = curl_exec($ch);

    2.通过fsockopen. 

    $URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php';
    $post_data['clientname'] = "test08";
    $post_data['clientpasswd'] = "test08";
    $post_data['submit'] = "ログイン";
    $referrer="";
    // parsing the given URL
    $URL_Info=parse_url($URL);
    // Building referrer
    if($referrer=="") // if not given use this script as referrer
    $referrer=$_SERVER["SCRIPT_URI"];
     
    // making string from $data
    foreach($post_data as $key=>$value)
    $values[]="$key=".urlencode($value);
     
    $data_string=implode("&",$values);
    // Find out which port is needed - if not given use standard (=80)
    if(!isset($URL_Info["port"]))
    $URL_Info["port"]=80;
    // building POST-request:
    $request.="POST ".$URL_Info["path"]." HTTP/1.1
    ";
    $request.="Host: ".$URL_Info["host"]."
    ";
    $request.="Referer: $referrer
    ";
    $request.="Content-type: application/x-www-form-urlencoded
    ";
    $request.="Content-length: ".strlen($data_string)."
    ";
    $request.="Connection: close
    ";
    $request.="
    ";
    $request.=$data_string."
    ";
    $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
    fputs($fp, $request);
    while(!feof($fp)) {
        $result .= fgets($fp, 128);
    }
    fclose($fp);
  • 相关阅读:
    CHIL-ORACLE-truncate 语法 清空表数据
    CHIL-ORACLE-复制表结构与复制表数据
    CHIL-ORACLE-伪列
    CHIL-ORACLE-给表插入数据
    CHIL-ORACLE-修改
    CHIL-ORACLE-创建同义词
    CHIL-ORACLE-创建默认约束
    CHIL-ORACLE-创建视图
    CHIL-ORACLE-检查约束(check)
    CHIL-ORACLE-主外键约束(primary key / foreign key)
  • 原文地址:https://www.cnblogs.com/baocheng/p/5902704.html
Copyright © 2011-2022 走看看