Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > FTP + Proxy


Автор: ITunez 5.11.2010, 14:58
Всем привет.
Надо было сделать закачку файлов на сервак по ФТП
Код

URL Url= new URL("ftp://kuku:hihi@hosting.com/httpdocs/images/file.jpeg");
URLConnection Conn = Url.openConnection();
Conn = Url.openConnection();
Conn.setDoOutput(true);
Conn.connect();

OutputStream Out = Conn.getOutputStream();
FileInputStream InputConn = new FileInputStream("/home/1.jpg");
byte[] Buffer4IIUploadRecFileToServer = new byte[InputConn.available()];

int Int;

while ((Int = InputConn.read(Buffer4IIUploadRecFileToServer)) > 0) {
Out.write(Buffer4IIUploadRecFileToServer,0, Int);
}
InputConn.close();
Out.flush();
Out.close();


Все сработало отлично. Потом решили сделать через прокси. Стало так:
Код


        System.getProperties().put("proxySet", "true");
        System.getProperties().put("proxyHost", "proxy.com");
        System.getProperties().put("proxyPort", "80");

URL Url= new URL("ftp://kuku:hihi@hosting.com/httpdocs/images/file.jpeg");
URLConnection Conn = Url.openConnection();
Conn = Url.openConnection();
Conn.setDoOutput(true);
Conn.connect();

OutputStream Out = Conn.getOutputStream();
FileInputStream InputConn = new FileInputStream("/home/1.jpg");
byte[] Buffer4IIUploadRecFileToServer = new byte[InputConn.available()];

int Int;

while ((Int = InputConn.read(Buffer4IIUploadRecFileToServer)) > 0) {
Out.write(Buffer4IIUploadRecFileToServer,0, Int);
}
InputConn.close();
Out.flush();
Out.close();


На что IDE заявило
Код

java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
        at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1000)
        at sun.net.www.protocol.ftp.FtpURLConnection.getOutputStream(FtpURLConnection.java:464)


Что делать? Что ему надо для полного счастья?

Автор: LSD 24.11.2010, 13:11
Встроенный в Java FTP клиент требует или специальной FTP или SOCKS прокси. http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html.

http://www.sauronsoftware.it/projects/ftp4j/ умеет работать и через HTTP проксю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)