本文分享下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
相关文章
- 03-27axios的post请求方法---以Vue示例
- 03-27解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
- 03-27CocosCreator JS/TS发送Get/Post请求的方法
- 03-27@RequesBody、@RequestParam的区别 以及Axios发送的post请求,后端拿不到参数解决方法
- 03-27向指定URL发送POST请求的方法
- 03-27PHP用CURL发送Content-type为application/json的POST请求方法
- 03-27php转发post_php发送post请求的三种方法
- 03-27发送POST测试请求的若干方法
- 03-27解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
- 03-27转:PHP中的使用curl发送请求(GET请求和POST请求)