2011-10-06 13 views

Respuesta

31

Con HTTP basic access authentication debe enviar el encabezado Authorization junto con un valor de "Basic " + base64encode("username:password").

E.g. (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(); 

// ... 

(especificación explícita de la codificación de caracteres en getBytes() se omite por razones de brevedad como el nombre de usuario y pase a menudo es normal US-ASCII todos modos, además, Base64 siempre genera US-ASCII bytes)

5
//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(); 
+2

Oh sí. Mi error. –

Cuestiones relacionadas