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: /]
Host: api.beta.tab.com.au
Akzeptieren: /
- HTTP/2-Stream 1 wurde nicht sauber geschlossen: INTERNAL_ERROR (Fehler 2)
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.