php发送post请求的三种方法示例

  本文分享下php发送post请求的三种方法与示例代码,分别使用curl、file_get_content、fsocket来实现post提交数据,大家做个参考。

  php发送post请求的三种方法,分别使用curl、file_get_content、fsocket来实现post提交数据。

  实例代码:

  代码示例:

  <?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){//file_get_content

  // www.jbxue.com

  $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\r\nHost: $host\r\n";

  $post.="Content-type: application/x-www-form-";

  $post.="urlencoded\r\n${others}";

  $post.="User-Agent: Mozilla 4.0\r\nContent-length: ";

  $post.=strlen($query)。"\r\nConnection: close\r\n\r\n$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;

  }

  } www.lefeng123.com

转载于:https://www.cnblogs.com/tianchaoy/p/3554464.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值