搜索

首页  >  问答  >  正文

尝试从 search.maven.org 检索最新版本的包时遇到错误

“错误:无法从 Maven 存储库检索数据”

同时从 search.maven.org 检索最新版本号。 编写了以下 php 代码,我将针对所有其他包进行修改。

<?php
    $url = "https://search.maven.org/solrsearch/select?q=a:angus-activation-project&rows=1&wt=json";
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($curl);
    curl_close($curl);

    if ($response === false) {
        echo "Error: Retrieving data from the Maven repository failed";
    } else {
        $data = json_decode($response);
    if ($data === null || !property_exists($data, 'response') || count($data->response->docs) == 0) {
        echo "Error: Failed to retrieve the latest version of the artifact from the Maven repository";
    } else {
        $latestVersion = $data->response->docs[0]->v;
        echo "Latest version is" . $latestVersion;
    }
    }
?>

P粉461599845P粉461599845317 天前1899

全部回复(1)我来回复

  • P粉409742142

    P粉4097421422024-04-06 09:09:10

    添加此:

    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0");

    如果您使用带有默认用户代理的curl,maven会返回403禁止。这样你的请求看起来像 Firefox

    回复
    0
  • 取消回复