J'essaie de donner quelques exemples de base pour demander des données à partir du Web, mais toutes les demandes à différents hôtes entraînent une erreur SSL: x509: certificate signed by unknown authority
. Note: Je ne suis pas derrière un proxy et aucune forme d'interception de certificat n'est en cours, car l'utilisation de curl ou du navigateur fonctionne sans problème.x509 certificat signé par une autorité inconnue
L'exemple de code Je travaille actuellement avec est:
package main
import (
"fmt"
"net/http"
"io/ioutil"
"os"
)
func main() {
response, err := http.Get("https://google.com")
if err != nil {
fmt.Printf("%s\n", err)
os.Exit(1)
} else {
defer response.Body.Close()
contents, err := ioutil.ReadAll(response.Body)
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
}
fmt.Printf("%s\n", string(contents))
}
}
Edit: le code est exécuté sur le noyau Linux Arc-4.9.37-1 LTS.
Edit 2: Apparemment /etc/ssl/certs/ca-certificates.crt
avait une différence entre la version sur mon système, en supprimant le certificat et la réinstallation du paquet ca-certificates-utils
manuellement, le problème a été résolu.
Votre code fonctionne parfaitement sur ma machine locale. Courez-vous directement dans la machine ou dans un conteneur? – sadlil
ce code fonctionne très bien dans un conteneur docker Ubuntu –
Je cours la version du noyau Arch Linux 4.9.37-1-lts. Le code fonctionne correctement sur toute autre machine, mais pas sur cette machine. –