Пройти авторизацию и скачать файл

Mady

Well-known member
16.09.2006
65
0
#1
Доброго времени суток.

Проблема следующая,

Я пытаюсь пройти веб авторизацию и скачать, файл. проблема следующая если файл содержит кириллицу то url получается кодированный. и когда отрабатывает код файл не скачивания, а с латиницей все нормально.

пример кода.

HttpClient client = new HttpClient();
client.getParams().setParameter("username", "admin");
client.getParams().setParameter("password", "123456789");
HostConfiguration host = client.getHostConfiguration();
host.setHost(new URI("http://localhost:8082", true));
String fileString = "/test.nsf/7f65461bc464365e462578bf00137d8e/3cdd090b4a5588d6462578bf0047fbba/$FILE/%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5.doc";
//String fileString = "/test.nsf/7f65461bc464365e462578bf00137d8e/459f167f3c0ab7d7462578bf004913ac/$FILE/DA.doc";
GetMethod method = new GetMethod("http://192.168.89.109:8082/names.nsf?login&username=admin&password=123456789&RedirectTo="+fileString);
client.executeMethod(host, method);
byte[] bs = method.getResponseBody();
if (bs.length==0) return;
System.out.println(bs.length);
File file = new File("D:\\test.doc");
OutputStream out = new FileOutputStream(file);
out.write(bs);
out.close();
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 572
265
#2
ну собсно, от того что это java - поведение никак не зависит ;)
возможно надо энкодить УРЛ...
например так
причем имя надо указывать именно в русскими символами, а не их эскэйпами
 

Mady

Well-known member
16.09.2006
65
0
#3
Да дело в том что имя файла уже закодированный лотусовыми средствами
Код:
	fileName = (String) session.evaluate("@URLEncode(\"Domino\";\""+fileName+"\")").elementAt(0);
 

Mady

Well-known member
16.09.2006
65
0
#4
и что самое интересное

если поставить доступ на БД по умолчанию всем, те обращаться к ссылке на прямую без редиректа, то все скачивается нормально.

Вопрос как пройти авторизацию, и скачать вложения?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 572
265
#5
у вас авторизация по сессии? - если да, то нужно куки получать/подсовывать, при запросах