PHP cURL 给出 HTTP 错误 400,但在浏览器中工作正常

问题描述 投票:0回答:1

我正在尝试调用 GET REST API,问题是远程服务器给我一个 HTTP 400 错误。但是当我将链接放入浏览器时,它会返回正确的响应。我的代码有问题吗? 我使用的 API 是 ArcGIS findAddressCandidates 这是我使用的功能:

function callAPI_GET($url) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    // Execute
    $result = curl_exec($curl);
    if ($result) {
        // Returns result
        return $result;
    } else {
        // Returns error
        return "Errore durante l'esecuzione della richiesta: " . curl_error($curl);
    }
}

电话如下:

$geo_request = callAPI_GET('https://geocode-api.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates?city=' . $comune . '&SingleLine=' . $address_param . '&sourceCountry=ITA&maxLocations=1&f=json&outFields=location&token=*MY TOKEN*');
php curl get arcgis
1个回答
0
投票

我们只能推测。也许目标 api 有用户代理白名单?也许它只对

Accept: text/html
做出 200 响应?也许它需要一个预先存在的 cookie 会话?无论如何,请在这里查看我的答案:https://stackoverflow.com/a/55829622/1067003

或者更好的是,查看 api 文档。

© www.soinside.com 2019 - 2024. All rights reserved.