Request带数据请求

代码:

private function curl_post_ssl($url,$vars,$second=30,$aHeader=array())
   {
       $ch = curl_init();
       //超时时间
       curl_setopt($ch,CURLOPT_TIMEOUT,$second);
       curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
       //这里设置代理,如果有的话
       curl_setopt($ch,CURLOPT_URL,$url);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
   
       if( count($aHeader) >= 1 ){
           curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
       }
   
       curl_setopt($ch,CURLOPT_POST, 1);
       curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
       $data = curl_exec($ch);
       if($data){
           curl_close($ch);
           return $data;
       }
       else {
           $error = curl_errno($ch);
           curl_close($ch);
           return false;
       }
   }

 protected function https_request($url,$data=null)
    {
      //1、初始化curl
      $ch = curl_init();
 
      //2、设置传输选项
      curl_setopt($ch, CURLOPT_URL, $url);//请求的url地址
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//将请求的结果以文件流的形式返回
        
      if(!empty($data))
      {
        curl_setopt($ch,CURLOPT_POST,1);//请求POST方式
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//POST提交的内容
      }
 
      //3、执行请求并处理结果
      $outopt = curl_exec($ch);
 
      //把json数据转化成数组
      $outoptArr = json_decode($outopt,TRUE);
 
      //4、关闭curl
      curl_close($ch);
 
      //如果返回的结果$outopt是json数据,则需要判断一下
      if(is_array($outoptArr))
      {  
        return $outoptArr;
      }
      else
      {
        return $outopt;
      }      
    }
 
protected function buildRequestForm( array $param, $method, $target='',$jump=false) {
        $sHtml = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><form id='autoSubmit' action='".$target."' method='".$method."'>";

        if ( !empty( $param ) ) {
            foreach( $param as $key => $value ) {
                $sHtml.= "<input type='hidden' name='".$key."' value='".urldecode($value)."'/>";
            }
        }
        $sHtml .= "</form>";

        if($jump) $sHtml = $sHtml."<script>document.getElementById(\"autoSubmit\").submit();</script>";

        return $sHtml;
    }
   

 protected function curl_post( $curlHttp, $postdata ) {
          $ch = curl_init(); //用curl发送数据给api
          curl_setopt( $ch, CURLOPT_POST, true );
          curl_setopt( $ch, CURLOPT_POST, true );
          curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
          curl_setopt( $ch, CURLOPT_URL, $curlHttp );
          curl_setopt( $ch, CURLOPT_POSTFIELDS, $postdata );
          curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
          curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );

          $response = curl_exec( $ch );
          curl_close( $ch );
          $result = json_decode( $response, true );
          return $result;
      }
  public function httpGet($url)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_URL, $url);

        $res = curl_exec($curl);
        curl_close($curl);

        return $res;
    }

  function http_post_json($url, $jsonStr)
    {
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json; charset=utf-8',
        'Content-Length: ' . strlen($jsonStr)
      )
    );
  $response = curl_exec($ch);
  $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  return array($httpCode, $response);
}
$url = "http://blog.snsgou.com";
$jsonStr = json_encode(array('a' => 1, 'b' => 2));
list($returnCode, $returnContent) = http_post_json($url, $jsonStr);

猜你喜欢

转载自blog.csdn.net/jianai0602/article/details/78055277