curl,fsocketopen,socket 三种函数抓取html页面

本文详细介绍了PHP中三种网络请求技术:cURL、fsocketopen和socket,包括具体实现步骤和核心代码解释。

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

(1) php - curl 

<?php
    $ch_article = curl_init();
    $url        = 'www.baidu.com';
    curl_setopt($ch_article, CURLOPT_URL, $url);
    curl_setopt($ch_article, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($ch_article, CURLOPT_HEADER, 0);
    $article_output = curl_exec($ch_article);
    curl_close($ch_article);
    echo $article_output;
?>


(2) php - fsocketopen

<?php
$fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30);
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.baidu.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
    echo fgets($fp, 128);
}
fclose($fp);
?>


(3) php - socket

<?php
$url='www.baidu.com';
$Port = 80;
$host_ip  = gethostbyname('www.baidu.com');
$Header  .= trim('Host:www.baidu.com')."\r\n";
$Header  .= trim('Connection: Close')."\r\n";
$method   = 'GET';
$Request  = $method." " . '/' . " HTTP/1.1\r\n";
$Request .= $Header;
$Request .= "\r\n";
$sockHttp    = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$resSockHttp = socket_connect($sockHttp, $host_ip, $Port);
socket_write($sockHttp, $Request, strlen($Request));
$Response = '';
while ($Read_data = socket_read($sockHttp, 4096)){
	$Response .= $Read_data;
}
socket_close($sockHttp);
echo $Response;
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值