Ich versuche, eine cURL-HTTPS-Anfrage an die Twitter-API zu senden, und es wird folgende Fehlermeldung angezeigt:
[root@webscoming httpdocs]# curl -v https://api.twitter.com
About to connect() to api.twitter.com port 443 (#0)
Trying 199.16.156.199... connected
Connected to api.twitter.com (199.16.156.199) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
NSS error -5990
Closing connection #0
SSL connect error
curl: (35) SSL connect error
Ich habe dies von einem anderen Server aus versucht und es funktioniert wie erwartet. Was bedeutet dieser Fehler und wie behebe ich ihn?
Auf meinem Server wird CentOS Version 6.5 ausgeführt.
Bitte beachten Sie: Ich kann mich korrekt verbinden, https://encrypted.google.com
aber erfolglos mit https://api.twitter.com
.
Antworten:
Ich habe ein ähnliches Problem gesehen, aber nicht auf Twitter zugegriffen.
Das Problem, das ich gesehen habe, war RHEL 6.1 -> RHEL 6.4, bei dem Curl verwendet wurde, um auf eine REST-API zuzugreifen. Curl zeigte Fehler: Curl: (35) SSL-Verbindungsfehler
Das Problem war schließlich, dass unser Server, auf dem die REST-API ausgeführt wird, RHEL 6.6 war und eine neuere Version von NSS verwendete. Nach dem Upgrade der Client-NSS-Version war Curl erfolgreich.
Wir haben den Client aktualisiert von: nss-3.12.10-2.el6_1.x86_64
bis: nss-3.16.1-14.el6
quelle
Laut Quellcode bedeutet dieser Fehler eine Zeitüberschreitung. Ihre Netzwerkverbindung zu diesem Host ist höchstwahrscheinlich fehlerhaft. Es kann auch sein, dass Twitter Ihre IP aus irgendeinem Grund herausfiltert.
quelle
cURL-Fehlernummer 35 hat mit einer veralteten cURL-Version zu tun.
Um dies zu beheben, müssen Sie Ihr cURL-Paket aktualisieren.
quelle
curlimages/curl:latest
Version