我在我的PHP脚本中使用cURL来测试我的API。当我尝试使用我的函数来获取数据时,它抛出了一个错误
错误:无法连接到alenke。测试端口80:连接被拒绝
但当我在终端执行时
curl --ipv4 -v "http://alenke.test/wp-json/chatbot/v1/brand";
它给予了我
`Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to alenke.test (127.0.0.1) port 80 (#0)
GET /wp-json/chatbot/v1/brand HTTP/1.1
Host: alenke.test
User-Agent: curl/7.54.0
Accept:
HTTP/1.1 200 OK
Server: nginx/1.15.7
Date: Sun, 01 Sep 2019 16:47:36 GMT
Content-Type: application/json; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/7.3.7
X-Robots-Tag: noindex
Link: <http://alenke.test/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages Access-Control-Allow-Headers: Authorization, Content-Type Allow: GET `
并给予我所有的数据,我需要,但何时执行这个php脚本
function callAPI($method, $url, $data){
$curl = curl_init();
switch ($method){
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// OPTIONS:
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "admin:admin");
// EXECUTE:
$result = curl_exec($curl);
if(!$result){
if (curl_errno($curl)) {
echo 'Error: ' . curl_error($curl);
echo'//;
echo print_r(curl_getinfo($curl));
echo'//;
die("Connection Failure..?");
}
}
curl_close($curl);
return $result;
}
它会显示此错误
错误:无法连接到alenke。测试端口80:连接被拒绝
2条答案
按热度按时间xdnvmnnf1#
我已经将您的代码复制粘贴到了我电脑上的一个文件(test.php)中,用一个
<?php .. ?>
块将其包围起来,并在函数后面添加了一个如下所示的调用:$res=callAPI('GET', 'http://myserver/', ''); echo $res;
然后通过php test.php
在命令行中启动脚本,并得到预期的结果(我的服务器的index.html文件)。所以不管你在做什么都可以。试着先在命令行测试一下,看看是否安装/启用了必要的模块。如果可以,试着修复你的Web服务器的配置文件。如果你需要更多的帮助,请添加一些关于你的系统的信息(Web服务器、版本、操作系统和任何相关内容)。系统管理员倾向于禁用某些功能(包括curl),也许你的默认配置是基于此。
lymnna712#
我会建议你检查你的防火墙,并检查如果域什么ip正在解析.