欢迎各位兄弟 发布技术文章
这里的技术是共享的
<?php
/**
 * Created by PhpStorm.
 * User: 16666739
 * Date: 2025/10/29
 * Time: 8:00
 */
$ch = curl_init();
// 设置URL和相应的选项     好像必须要用 www.baidu.com 不要用 baidu.com 否则会跳转
//是由于它本身 网站跳转的吧
curl_setopt($ch, CURLOPT_URL, "https://www.itsk.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
//1是保存到字符串中  0是输出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 抓取URL并把它传递给浏览器
$tmpInfo = curl_exec($ch);
//curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
echo $tmpInfo; 
//为什么 $tmpInfo 的结果为空呢 
/**
 * Created by PhpStorm.
 * User: 16666739
 * Date: 2025/10/29
 * Time: 8:19
 */你的代码中$tmpInfo为空可能有以下几个原因:
当你尝试访问 HTTPS 网址 https://www.itsk.com/ 时,可能因为缺乏 SSL 验证或服务器证书问题导致连接失败。
解决方案:
phpcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过SSL证书验证 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 跳过主机名验证
有些网站可能会拒绝识别为非浏览器的客户端请求(如简单的 cURL),可能会返回空内容或 403 禁止访问。
解决方案: 设置用户代理(User-Agent),伪装成浏览器:
phpcurl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36');
如果目标网址有重定向,而你的代码没有跟随重定向,可能会导致获取不到内容。
解决方案:
phpcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 跟随重定向
如果服务器暂时无法访问,或者你的网络环境阻止了连接(如代理问题),也会导致空结果。
解决方案: 检查错误信息:
php$tmpInfo = curl_exec($ch); if ($tmpInfo === false) { echo 'Curl error: ' . curl_error($ch); } curl_close($ch);
php$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.itsk.com/"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 忽略SSL证书 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 忽略主机验证 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'); // 设置UA curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 跟随重定向 $tmpInfo = curl_exec($ch); if ($tmpInfo === false) { echo 'Error: ' . curl_error($ch); } else { echo $tmpInfo; } curl_close($ch);
先用 http://example.com 或 http://httpbin.org/get 这类简单的HTTP网址测试,确认基础功能正常。
使用 curl_getinfo($ch) 检查请求详情:
php$info = curl_getinfo($ch); print_r($info);
通过以上调整,应该能解决空结果的问题。如果问题依旧,请检查目标网站是否可正常访问(如直接用浏览器打开测试)。