zoukankan      html  css  js  c++  java
  • php 模拟post请求

    class Request{
      
        public static function post($url, $post_data = '', $timeout = 5){//curl
      
            $ch = curl_init();
            curl_setopt ($ch, CURLOPT_URL, $url);
      
            curl_setopt ($ch, CURLOPT_POST, 1);
      
            if($post_data != ''){
      
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
      
            }
      
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
      
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
      
            curl_setopt($ch, CURLOPT_HEADER, false);
      
            $file_contents = curl_exec($ch);
      
            curl_close($ch);
      
            return $file_contents;
      
        }
        public static function post2($url, $data=array()){//file_get_content
                
            $postdata = http_build_query(
                $data
            );          
            $opts = array('http' =>
      
                          array(
      
                              'method'  => 'POST',
      
                              'header'  => 'Content-type: application/x-www-form-urlencoded',
      
                              'content' => $postdata
      
                          )
      
            );          
            $context = stream_context_create($opts);
            $result = file_get_contents($url, false, $context);
            return $result;
        }
        public static function post3($host,$path,$query,$others=''){//fsocket
      
      
            $post="POST $path HTTP/1.1 Host: $host ";
      
            $post.="Content-type: application/x-www-form-";
      
            $post.="urlencoded ${others}";
      
            $post.="User-Agent: Mozilla 4.0 Content-length: ";
      
            $post.=strlen($query)." Connection: close $query";
      
            $h=fsockopen($host,80);
      
            fwrite($h,$post);
      
            for($a=0,$r='';!$a;){
      
                    $b=fread($h,8192);
      
                    $r.=$b;
      
                    $a=(($b=='')?1:0);
      
                }
      
            fclose($h);
      
            return $r;
      
        }
    }
    $url='http://******/con/Inter.php';
    $data=Request::post($url,array('api'=>'tag_list'));
    $data2=Request::post2($url,array('api'=>'tag_list'));
    echo $data;
  • 相关阅读:
    【荐】说说CSS Hack 和向后兼容
    【阮一峰】深入研究URL编码问题及JavaScript相应的解决方案
    什么是H标签?H1,H2,H3标签?以及和strong标签使用的方法及重要性
    实用框架(iframe)代码
    数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,
    BZOJ 3110 ZJOI 2013 K大数查询 树套树(权值线段树套区间线段树)
    c++中基本的语法问题
    RIP协议两个版本号对不连续子网的支持情况实验
    getChars的使用方法
    ios8中百度推送接收不到
  • 原文地址:https://www.cnblogs.com/pingliangren/p/5587602.html
Copyright © 2011-2022 走看看