Wprowadzanie następującego polecenia
curl -k [email protected]:password https://www.example.com
Zwraca następujący błąd
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://mail.google.com/mail/">here</A>. </BODY></HTML> badauth
po pobraniu
cacert.crt
pliku stądhttp://www.cacert.org/index.php?id=3
Następnie nazwa
cacert.crt
pliku została zmieniona nacacert.pem
Następnie spróbowałem:
curl --cacert /path/to/cacert.pem [email protected]:password https://www.example.com
Ale dostań ten sam błąd.
Następnie próbuję:
curl https://www.example.com
Otrzymuję ten błąd
curl: (60) Problem z certyfikatem SSL: nie można uzyskać certyfikatu lokalnego wystawcy Więcej szczegółów tutaj: http://curl.haxx.se/docs/sslcerts.html
curl domyślnie przeprowadza weryfikację certyfikatu SSL, używając „pakietu” kluczy publicznych urzędu certyfikacji (CA). Jeśli domyślny plik pakietu nie jest odpowiedni, możesz określić plik alternatywny, używając opcji --cacert.
Jeśli ten serwer HTTPS używa certyfikatu podpisanego przez urząd certyfikacji reprezentowany w pakiecie, weryfikacja certyfikatu prawdopodobnie nie powiodła się z powodu problemu z certyfikatem (może on wygasnąć lub nazwa może nie pasować do nazwy domeny w adresie URL).
Jeśli chcesz wyłączyć weryfikację certyfikatu przez curl, użyj opcji -k (lub --insecure)Więc spróbowałem z
-k
curl -k https://www.example.com
Ale oczywiście dostaję błąd
Badauth
Zgaduję, że robię coś złego z plikiem certyfikatu, ale nie wiem, skąd wziąć plik certyfikatu ani co z nim zrobić, gdy go już mam.
Oczywiście nie mam problemu z zalogowaniem się za pomocą przeglądarki, ale chciałbym zautomatyzować ten proces za pomocą wiersza polecenia, aby móc to zrobić za pomocą Tasker na tablecie z Androidem przez WiFi.
źródło
Możesz pobrać certyfikaty główne cacert tutaj: http://www.cacert.org/index.php?id=3
źródło