CURL HTTP/2-Stream 1 wurde nicht sauber geschlossen: INTERNAL_ERROR (Fehler 2) in PHPPhp

PHP-Programmierer chatten hier
Guest
 CURL HTTP/2-Stream 1 wurde nicht sauber geschlossen: INTERNAL_ERROR (Fehler 2) in PHP

Post by Guest »

Es wird versucht, die URL zu locken
https://api.beta.tab.com.au/v1/tab-info ... 024-03-14/ Meetings?jurisdiction=VIC
und erhalte Fehler 92 * HTTP/2-Stream 1 wurde nicht sauber geschlossen: INTERNAL_ERROR (Fehler 2)
Ich habe die ausführliche Protokollierung aktiviert, um Folgendes zu beheben:
  • Host api.beta.tab.com.au:443 wurde behoben.
    IPv6: (keine)
  • IPv4: 23.206.199.8, 23.206.199.16, 23.206.199.9, 23.206.199.33, 23.206.199.26, 23.206.199.11, 23.206.199.25, 23.206.199.10, 23.206.199.18
  • Versuche es 23.206.199.8:443...
  • Verbunden mit api.beta.tab.com.au (23.206.199.8) Port 443
  • ALPN: curl bietet h2,http/1.1
  • CAfile: C:\php\extras\ssl\cacert.pem
  • CApath: keiner
  • SSL-Verbindung mit TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / id-ecPublicKey
  • ALPN: Server akzeptiert h2< /li>
    Serverzertifikat:
  • Betreff: C=AU; ST=Victoria; L=Docklands; O=TABCORP ASSETS PTY LTD; CN=*.beta.tab.com.au
  • Startdatum: 10. Februar 00:00:00 2024 GMT
  • Ablaufdatum: 12. Februar 23:59:59 2025 GMT
  • subjectAltName: Host „api.beta.tab.com.au“ stimmt mit Zertifikaten überein „*.beta.tab.com.au“
  • Aussteller: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
  • SSL-Zertifikatsüberprüfung ok.
  • Zertifikatsebene 0: Öffentlicher Schlüsseltyp EC/prime256v1 (256/128 Bits /secBits), signiert mit sha256WithRSAEncryption
  • Zertifikatstufe 1: Öffentlicher Schlüsseltyp RSA (2048/112 Bits/secBits), signiert mit sha256WithRSAEncryption
  • Zertifikatstufe 2: Öffentlicher Schlüsseltyp RSA (2048/112 Bits/secBits), signiert mit sha1WithRSAEncryption
  • alte SSL-Sitzungs-ID ist veraltet, Entfernung
  • über HTTP/2
  • [HTTP/2] [1] GEÖFFNETer Stream für https://api.beta.tab.com.au/v1/tab-info ... 3/meetings? jurisdiktion=VIC
  • [HTTP/2] [1] [:method: GET]
  • [HTTP/2] [1] [:scheme : https]
  • [HTTP/2] [1] [:authority: api.beta.tab.com.au]
  • [HTTP/2 ] [1] [:path: /v1/tab-info-service/racing/dates/2024-03-13/meetings?jurisdiction=VIC]
  • [HTTP/2] [ 1] [accept: /]
GET /v1/tab-info-service/racing/ date/2024-03-13/meetings?jurisdiction=VIC HTTP/2
Host: api.beta.tab.com.au
Akzeptieren: /
  • HTTP/2-Stream 1 wurde nicht sauber geschlossen: INTERNAL_ERROR (Fehler 2)
Dies ist die Funktion, die ich verwende:
function fetchDataFromUrl($url) {

Code: Select all

$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FAILONERROR, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$data = curl_exec($ch);

$curl_error = curl_error($ch);
$curl_error_number = curl_errno($ch);
$http_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);

if(curl_errno($ch)) {
$error_message = 'Error: ' . curl_error($ch);
echo "cURL error: $error_message | cURL error number: $curl_error_number | http code: $http_code\n\n";
curl_close($ch);
return $error_message;
} else {
curl_close($ch);
echo "cURL success\n\n";
return $data;
}
}
Und nur ein einfacher Aufruf:
$url = "https://api. beta.tab.com.au/v1/tab-info-service/racing/dates/2024-03-13/meetings?jurisdiction=VIC";
$response = fetchDataFromUrl($url);
Habe Curl mit anderen HTTPS-Sites getestet und funktioniert gut, scheint also speziell für die betreffende URL zu sein.
Wenn ich Versuchen Sie, HTTP auf Version 1 oder 1.1 zu erzwingen. Das Skript bleibt einfach hängen und reagiert nicht.
Jede Hilfe wäre sehr dankbar!
Die Antwort sollte sei ein JSON-Array.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post