parse java jsoup http-basic-authentication

java - parse - jsoup connect



Conexión Jsoup con autenticación de acceso básico. (2)

¿Hay alguna manera en Jsoup para cargar un documento desde un sitio web con autenticación de acceso básica?


Con la autenticación de acceso básico HTTP , debe enviar el encabezado de Authorization junto con un valor de "Basic " + base64encode("username:password") .

Ej. (Con poca ayuda de Apache Commons Codec Base64 ):

String username = "foo"; String password = "bar"; String login = username + ":" + password; String base64login = new String(Base64.encodeBase64(login.getBytes())); Document document = Jsoup .connect("http://example.com") .header("Authorization", "Basic " + base64login) .get(); // ...

(la especificación explícita de la codificación de caracteres en getBytes() se omite por brevedad, ya que el nombre de inicio de sesión y el paso a menudo son simples US-ASCII ; además, Base64 siempre genera bytes US-ASCII )


//Log in Response res = Jsoup .connect("url") .data("loginField", "login") .data("passwordField", "password") .method(Method.POST) .execute(); Document doc = res.parse(); //Keep logged in Map<String, String> cookies = res.cookies(); Document doc2 = Jsoup .connect("url") .cookies(cookies) .get();