加了路由地址,响应码都是404的问题

浏览:1018 发布日期:2022/03/24 分类:ThinkPHP6专区
加了路由之后的地址,PHP获取其响应码都是404的问题

用Thinkphp6开发了api接口,为了该接口地址便于后续维护使用了路由添加上版本号,比如www.aaa.com/api/ip这个接口,路由后是www.aaa.com/api/v1/ip

API地址做主备切换,客户机先判断API地址是否有效,即用curl_getinfo请求www.aaa.com/api/v1/ip的状态码,发现返回404
应该返回200状态码才对,不知道为何返回404(浏览器访问该地址状态码却是正常的200)

下面是PHP查询目标URL状态码的函数$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);路由设置为:Route::get('api/v1/:function', 'api/:function');不知道是BUG还是我哪里设置错了?

完整测试代码:$url = 'http://localhost:10000/index.php/api/v1/iplocation?ip=14.153.11.23';
echo get_http_code($url);  // 显示为404

function get_http_code($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true); // remove body
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $head     = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    return $httpCode;
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>