Heim  >  Fragen und Antworten  >  Hauptteil

Beim Versuch, die neueste Version eines Pakets von search.maven.org abzurufen, ist ein Fehler aufgetreten

„Fehler: Daten können nicht aus dem Maven-Repository abgerufen werden“

Rufen Sie auch die neueste Versionsnummer von search.maven.org ab. Der folgende PHP-Code wurde geschrieben, den ich für alle anderen Pakete ändern werde.

<?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粉461599845170 Tage vor1457

Antworte allen(1)Ich werde antworten

  • 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

    Antwort
    0
  • StornierenAntwort