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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。