php - CURL 在 Red Hat、Apache、PHP、AWS 上的 Web 浏览器中不起作用
问题描述
我在运行 Apache 的 Red Hat AWS 服务器上有一个 PHP 脚本:
$url = "https://testsite.com/testfile.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo curl_error($ch);
$responseInfo = curl_getinfo($ch);
echo "http_code=".$responseInfo['http_code']."\n".$response."\n";
curl_close($ch);
当我从 SSH 终端运行它时,它可以工作。但是如果我在网络浏览器中加载页面,它会返回“http_code=0”。在这两种情况下, curl_error 都不返回任何内容。
我需要做什么才能允许 CURL 从 Web 浏览器工作?
解决方案
由于没有产生错误,可以假设 curl 正在工作,但您没有得到想要的结果。
背后的原因可能不止一个——
首先检查安全组中的出站规则,它可能在那里失败
其次可能是由于https,尝试使用curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
还要检查是否安装了 libcurl
如果尝试上述 3 件事都不起作用,则必须寻找其他可能性。
推荐阅读
- java - 如何在 onItemSelected 方法上获取微调器的 id?
- python - Python如何使ping -t脚本无限循环
- javascript - 在 React 中呈现嵌套 json 列表的任何有效方法?
- css - 如何在不复制库的情况下在 Angular 组件的 CSS 中使用第三方 CSS 库?
- random - 有谁知道任何基于分形几何定律的prng?
- parsing - Log Parser Studio 查询 - 最近访问的 IP 地址?
- java - 在“一对多映射”场景中对子实体的 findById 操作返回递归子实体。需要解决方案
- php - PHP:如何将变量值更改为另一个类
- css - 如何扩展绝对放置的伪元素,直到页面内容变得最好?
- d3.js - 使用 D3.js 构建平面日历