Трябва да изстържа съдържанието зад страница, която има http автентичност. Също така сайтът има ssl. Какво писах досега:
Document document = Jsoup.connect("https://someuser:somepassword@somedomain.com").get();
Но това не работи. Изпробван също:
Document document = Jsoup
.connect("https://somedomain.com").get();
.header("Authorization", "Basic " + base64login)
.get();
Къде е base64login:
private String title;
String username = "someuser";
String password = "somepass";
String login = username + ":" + password;
public String base64login = Base64.encodeToString(login.getBytes(), Base64.DEFAULT);
Не знам как да го накарам да работи. Може ли някой да ми помогне?
Отговори:
1 за отговор № 1Без URL адреса е трудно да се знае, но предполагам, че кодирането по подразбиране на Charset не съвпада с това, което уеб сървърът очаква. Може би опитайте това:
public String base64login = new String(
Base64.encodeBase64(login.getBytes(Charset.forName("utf-8")))
);
Това използва методите org.apache.commons.codec.binary.Base64.
Влизането трябва да се извърши, както сте опитвали във втория си подход, т.е. с "Authorization"
глава. BTW - имаш грешка там в кода си. Най- header
метод трябва да бъде извикан преди get
и няма точка след запетая connect
.