PHP网络编程-数据采集-例

本文介绍了如何使用PHP的fsockopen函数、stream_context_create方法及cURL组件来构造和发送HTTP POST请求。通过实例展示了不同方式下POST请求的构建过程,包括设置请求头、编码请求数据等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fsockopen(地址,端口,错误码,错误信息,超时) 返回资源类型
$fh = fsockopen ('192.168.1.100' , 80 ,$errno , $errstr , 5);//打开socket连接
$data = array('title'=>'abcde', 'content'=>'abcde'); //准备请求的数据
$data = http_build_query($data); //将请求的数据转成url编码(encode)
$req = array( //准备报文
'POST /test/content.php HTTP/1.1',
'Host: localhost',
'Content-type: application/x-www-form-urlencoded',
'Content-length: 24',
'',
"$data",
);
//拆分请求
$req = implode("\n", $req);  //将报文转成字符串
//写入资源
fwrite($fh, $req); //将报文字符串写入资源
//循环读取返回值
while($row = fread($fh,32)) { //循环读取资源,显示到浏览器。
    echo $row; 
}
fclose($fh); //关闭资源
-------------------------------------------------------------------------------------------
$data = array('title'=>'灌水', 'content'=>'灌水机器人'); //准备请求数据
$data = http_build_query($data); //将请求的数据转成url编码(encode)
$opts = array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'content'=>$data
)
);
//创建并返回一个资源流上下文
$context = stream_context_create($opts); 
//将整个文件读入一个字符串,第三个参数是一个有效的上下文资源
echo file_get_contents('http://192.168.1.102/test/content.php', null, $context); 
--------------------------------------------------------------------------------------------
$ch = curl_init(); //初始化
curl_setopt($ch, CURLOPT_URL, '192.168.1.100/test/content.php'); //创建连接$ch
//curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); //  PHP 5.6.0 后必须开启
curl_setopt($ch, CURLOPT_POSTFIELDS, ['title'=>'灌水', 'content'=>'灌水机器人']); //携带POST数据请求连接$ch
curl_exec(); //执行,并将内容输出到浏览器
curl_close($ch); //关闭资源













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值