2009-07-09 34 views
6

Tôi muốn thiết lập kết nối FTP bằng máy chủ proxy với mạng commons-net của Apache.Sử dụng Proxy FTP với apache commons-net

Nhưng nhìn vào điều này Does FTPClient support FTP connections through an FTP proxy server? khiến tôi lo lắng.

Tôi phải can thiệp vào các thuộc tính hệ thống và tài liệu Sun cho biết "Nếu socksProxyHost được chỉ định thì tất cả các cổng TCP sẽ sử dụng máy chủ proxy SOCKS để thiết lập kết nối hoặc chấp nhận".
WTH? Tất cả các cổng TCP? Điều gì về các kết nối cơ sở dữ liệu của tôi? Hoặc các kết nối FTP khác tôi có thể muốn mở cùng một lúc không sử dụng proxy? Tất cả chúng sẽ bị ảnh hưởng?

Có cách nào khác để làm điều đó không gây rối với phần còn lại của đơn đăng ký của tôi không?

Trả lời

7

Bạn có một số cách sử dụng proxy trong Java, đặc biệt là từ phiên bản 1.5.

  1. Sử dụng thuộc tính hệ thống: nhanh chóng & mạnh mẽ nhưng linh hoạt hạn chế
    • Bạn có thể sử dụng sử dụng một proxy SOCKS cho tất cả các kết nối TCP.
    • Bạn cũng có thể thiết lập một proxy cho mỗi giao thức, doable cho HTTP, FTP và HTTPS
    • Đối với cả hai phương pháp, bạn có thể chỉ định một danh sách các host mà sẽ không sử dụng proxy
  2. Sử dụng lớp java.net.Proxy (Java 1.5 trở lên) để thiết lập (hoặc không) một Proxy mỗi Connection
  3. Impleting một java.net.ProxySelector (idem) sẽ xác định một Proxy cho mỗi Connection theo tiêu chí của bạn

Xem detailled Sun technote on networking & proxies.

+1

Vâng, hiện nay, 'SocketFactory' là cách để đi - trích dẫn tài liệu Commons-Net 3.3 https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/SocketClient .html * "Lưu ý đặc biệt là phương thức setSocketFactory ... Điều này đặc biệt hữu ích khi thêm hỗ trợ SSL hoặc proxy" * –

+0

@SamsonScharfrichter Bạn có thể thêm câu trả lời này làm câu trả lời khác, mà nó là :). Theo thời gian, nó sẽ nhận được nhiều upvotes hơn này và được hiển thị nhiều hơn cho những người quay trở lại câu hỏi này. –

+0

bạn cũng có thể cập nhật "câu trả lời có thẩm quyền" ... Tôi cảm thấy lười biếng 0 :) –

Các vấn đề liên quan