ProxyFinder.java 945 B

1234567891011121314151617181920212223242526272829303132333435
  1. package com.Best.HTTP.proxy;
  2. import java.net.InetSocketAddress;
  3. import java.net.Proxy;
  4. import java.net.ProxySelector;
  5. import java.net.URI;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. public class ProxyFinder {
  9. public static String FindFor(String uriStr) {
  10. try {
  11. System.setProperty("java.net.useSystemProxies","true");
  12. List<Proxy> proxies = ProxySelector.getDefault().select(new URI(uriStr));
  13. for (Iterator<Proxy> iter = proxies.iterator(); iter.hasNext(); ) {
  14. Proxy proxy = iter.next();
  15. InetSocketAddress addr = (InetSocketAddress)proxy.address();
  16. if(addr == null) {
  17. // no op
  18. } else {
  19. return String.format("%s://%s:%s", proxy.type(), addr.getHostName(), addr.getPort());
  20. }
  21. }
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. }
  25. return null;
  26. }
  27. }