<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 0, 文章 - 264, 評論 - 170, 引用 - 0
    數據加載中……

    HttpUrlConnection通過代理訪問網絡(轉:http://www.iteye.com/problems/38978)

    1. import java.io.IOException;   
    2. import java.io.InputStream;   
    3. import java.net.InetSocketAddress;   
    4. import java.net.MalformedURLException;   
    5. import java.net.Proxy;   
    6. import java.net.ProxySelector;   
    7. import java.net.SocketAddress;   
    8. import java.net.URI;   
    9. import java.net.URISyntaxException;   
    10. import java.net.URL;   
    11. import java.net.URLConnection;   
    12. import java.util.List;   
    13. import java.util.Properties;   
    14.   
    15. public class NetProxy   
    16. {   
    17. // 測試本地JVM的網絡缺省配置   
    18. public void setLocalProxy()   
    19. {   
    20. Properties prop = System.getProperties();   
    21. //設置http訪問要使用的代理服務器的地址   
    22. prop.setProperty("http.proxyHost", "10.10.0.96");   
    23. //設置http訪問要使用的代理服務器的端口   
    24. prop.setProperty("http.proxyPort", "8080");   
    25. //設置不需要通過代理服務器訪問的主機,可以使用*通配符,多個地址用|分隔   
    26. prop.setProperty("http.nonProxyHosts", "localhost|10.10.*");   
    27.   
    28. //設置安全訪問使用的代理服務器地址與端口   
    29. //它沒有https.nonProxyHosts屬性,它按照http.nonProxyHosts 中設置的規則訪問   
    30. prop.setProperty("https.proxyHost", "10.10.0.96");   
    31. prop.setProperty("https.proxyPort", "443");   
    32.   
    33. //使用ftp代理服務器的主機、端口以及不需要使用ftp代理服務器的主機   
    34. prop.setProperty("ftp.proxyHost", "10.10.0.96");   
    35. prop.setProperty("ftp.proxyPort", "2121");   
    36. prop.setProperty("ftp.nonProxyHosts", "localhost|10.10.*");   
    37.   
    38. //socks代理服務器的地址與端口   
    39. prop.setProperty("socksProxyHost", "10.10.0.96");   
    40. prop.setProperty("socksProxyPort", "1080");   
    41. }   
    42.   
    43. // 清除proxy設置   
    44. public void removeLocalProxy()   
    45. {   
    46. Properties prop = System.getProperties();   
    47. prop.remove("http.proxyHost");   
    48. prop.remove("http.proxyPort");   
    49. prop.remove("http.nonProxyHosts");   
    50.   
    51. prop.remove("https.proxyHost");   
    52. prop.remove("https.proxyPort");   
    53.   
    54. prop.remove("ftp.proxyHost");   
    55. prop.remove("ftp.proxyPort");   
    56. prop.remove("ftp.nonProxyHosts");   
    57.   
    58. prop.remove("socksProxyHost");   
    59. prop.remove("socksProxyPort");   
    60. }   
    61.   
    62. //   
    63.   
    64. // 測試http   
    65. public void showHttpProxy(Object... proxy)   
    66. {   
    67. URL url = null;   
    68. try   
    69. {   
    70. url = new URL("http://blog.csdn.com/smallnest");   
    71. }   
    72. catch (MalformedURLException e)   
    73. {   
    74. return;   
    75. }   
    76. try   
    77. {   
    78. URLConnection conn = null;   
    79. switch (proxy.length)   
    80. {   
    81. case 0:   
    82. conn = url.openConnection();   
    83. break;   
    84. case 1:   
    85. conn = url.openConnection((Proxy) proxy[0]);   
    86. break;   
    87. default:   
    88. break;   
    89. }   
    90.   
    91. if (conn == null)   
    92. return;   
    93.   
    94. conn.setConnectTimeout(3000); // 設置連接超時時間   
    95. InputStream in = conn.getInputStream();   
    96. byte[] b = new byte[1024];   
    97. try   
    98. {   
    99. while (in.read(b) > 0)   
    100. {   
    101. System.out.println(new String(b));   
    102. }   
    103. }   
    104. catch (IOException e1)   
    105. {   
    106. }   
    107. }   
    108. catch (IOException e1)   
    109. {   
    110. e1.printStackTrace();   
    111. }   
    112.   
    113. }   
    114.   
    115. // 測試ftp   
    116. public void showFtpProxy(Object... proxy)   
    117. {   
    118. URL url = null;   
    119. try   
    120. {   
    121. url = new URL("ftp://ftp.tsinghua.edu.cn");   
    122. }   
    123. catch (MalformedURLException e)   
    124. {   
    125. return;   
    126. }   
    127. try   
    128. {   
    129. URLConnection conn = null;   
    130. switch (proxy.length)   
    131. {   
    132. case 0:   
    133. conn = url.openConnection();   
    134. break;   
    135. case 1:   
    136. conn = url.openConnection((Proxy) proxy[0]);   
    137. break;   
    138. default:   
    139. break;   
    140. }   
    141.   
    142. if (conn == null)   
    143. return;   
    144.   
    145. conn.setConnectTimeout(3000); // 設置連接超時時間   
    146. InputStream in = conn.getInputStream();   
    147. byte[] b = new byte[1024];   
    148. try   
    149. {   
    150. while (in.read(b) > 0)   
    151. {   
    152. System.out.println(new String(b));   
    153. }   
    154. }   
    155. catch (IOException e1)   
    156. {   
    157. }   
    158. }   
    159. catch (IOException e1)   
    160. {   
    161. e1.printStackTrace();   
    162. }   
    163.   
    164. }   
    165.   
    166. // 得到一個proxy   
    167. public Proxy getProxy(Proxy.Type type, String host, int port)   
    168. {   
    169. SocketAddress addr = new InetSocketAddress(host,port);   
    170. Proxy typeProxy = new Proxy(type, addr);   
    171. return typeProxy;   
    172. }   
    173.   
    174. public static void main(String[] args)   
    175. {   
    176. NetProxy proxy = new NetProxy();   
    177. //測試代理服務器   
    178. proxy.setLocalProxy();   
    179. proxy.showHttpProxy();   
    180.   
    181. //下面兩行是清除系統屬性,而通過Proxy類指定代理服務器   
    182. // proxy.removeLocalProxy   
    183. //proxy.showHttpProxy(proxy.getProxy(Proxy.Type.SOCKS,"10.10.0.96",1080));   
    184.   
    185.   
    186. }   

    posted on 2011-10-10 17:52 小一敗涂地 閱讀(5950) 評論(0)  編輯  收藏 所屬分類: java語言相關android+移動開發

    主站蜘蛛池模板: 91视频国产免费| 18禁男女爽爽爽午夜网站免费| 黄色视屏在线免费播放| a在线视频免费观看| 日本视频一区在线观看免费| 成人免费看黄20分钟| 免费永久看黄在线观看app| 亚洲综合精品网站在线观看| 久久亚洲精品成人777大小说| 亚洲最大黄色网站| 国产精品亚洲专区无码WEB| 久久精品无码免费不卡| 四虎最新永久免费视频| 国产无遮挡色视频免费视频| 亚洲人成人网站色www | 啦啦啦手机完整免费高清观看| 免费jjzz在在线播放国产| 日本亚洲成高清一区二区三区 | 77777亚洲午夜久久多人| 亚洲精品第一国产综合精品| 亚洲jizzjizz少妇| 两个人看的www免费视频| 久久精品免费全国观看国产| 免费看男女下面日出水视频| 亚洲AV无码一区二区二三区软件| 亚洲制服丝袜一区二区三区| 深夜a级毛片免费视频| 4444www免费看| 俄罗斯极品美女毛片免费播放| 亚洲国产精品自在线一区二区| 亚洲人成人网站18禁| 99re6在线视频精品免费| 人禽杂交18禁网站免费| 国产自偷亚洲精品页65页| 亚洲一区在线观看视频| 国产特黄一级一片免费| 国产精品成人免费视频网站京东| 亚洲日韩涩涩成人午夜私人影院| 亚洲成AV人片久久| 久久不见久久见免费影院www日本| 在人线av无码免费高潮喷水|