zoukankan      html  css  js  c++  java
  • php接口post提交方法 (改良版)

    $postData = "reqType=2&caller=15088719619&called=15068722845";
    $result = send_post("192.168.0.152","4569","http://192.168.0.152:4569",$postData);
    var_dump($result);
    
    
    function send_post($host,$port,$urlPage,$postData){
    //             echo str_pad(" ", 256);
         
        $errno = '';
        $errstr = '';
    
        $length = strlen($postData);
    
        $fp = fsockopen($host,$port,$errno,$errstr,120) or exit($errstr."--->".$errno);
        //构 造post请求的头
        $header = "POST $urlPage HTTP/1.1
    ";
        $header .= "Host:".$host."
    ";
        $header .= "Referer:".$urlPage."
    ";
        $header .= "Content-Type:application/x-www-form-urlencoded
    ";
        $header .= "Content-Length:".$length."
    ";
        $header .= "Connection:Close
    
    ";
        //添加post的字符串
        $header .= $postData."
    ";
         
    
        //发送post的数据
        fputs($fp, $header);
        //         $inheader = 1;
         
        $result = array(); //最终输出结果;
        $temp = "";
        $flag = 0;
        $readLen = 128;
        while (!feof($fp)){
    
            $line = fread($fp,$readLen); // 去除请求包的头只显示页面 的返回数据  (注意fgets  fread($fp,1)最少2个字节起。)
            $temp .= $line;
    
            /*     echo $line;
                my_flush();
                if($inheader && ($line == "
    " || $line == "
    "))
                        $inheader = 0;
    
                if($inheader==0){
    
                    $temp .= trim($line);
                } */
           if(strlen($line)<$readLen){
                   break;
           }
    
            
        }
         
        fclose($fp);
    
        $result = formatResponeData($temp);
         
        return $result;
    
    }
    
    
    function formatResponeData($data){
        
        $resultArr = explode("
    
    ", $data);
        
        return trim($resultArr[1]);
        
        
    }
    
    function my_flush(){
        ob_flush();
        flush();
    }
  • 相关阅读:
    GIS术语
    ArcGIS9.3 SDE安装
    Vue中videojs的配置
    vue项目打包部署后页面是空白的,以及部署之后页面能看到图片等资源找不到
    echarts属性的设置
    ASP.Net4中实现自定义的请求验证(转贴)
    ASP.NET Session的七点认识(转贴)
    JDK自带的keytool证书工具详解
    读取zip加密包里面文件的内容
    无题
  • 原文地址:https://www.cnblogs.com/longhs/p/5010569.html
Copyright © 2011-2022 走看看