国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
使用HttpURLConnection訪問(wèn)web頁(yè)面 - ┽JAVASE進(jìn)階┾ - Java技術(shù)論壇|JavaSE|JavaEE|SCJP|SCWCD|SCEA|SCDJWS|SCBCD|java論壇 邁勝 - Powered by Discuz!

[網(wǎng)絡(luò)編程] 使用HttpURLConnection訪問(wèn)web頁(yè)面

URLConnection類給應(yīng)用程序和web資源之間架設(shè)起了通信的橋梁,這些web資源通常是通過(guò) url來(lái)標(biāo)記的,比如http://java.sun.com。 本文將講述如何使用HttpURLConnection來(lái)訪問(wèn)web頁(yè)面。

    URLConnection是個(gè)抽象類,它有兩個(gè)直接子類分別是HttpURLConnection和JarURLConnection。另外一個(gè)重要的 類是URL,通常URL可以通過(guò)傳給構(gòu)造器一個(gè)String類型的參數(shù)來(lái)生成一個(gè)指向特定地址的URL實(shí)例。比如:

URL url = new URL("http://www.j2medev.com");
URLConnection con = url.openConnection();

    通過(guò)上面的語(yǔ)句我們就可以得到一個(gè)URLConnection的實(shí)例,如果你在后面添加一句話 System.out.println(con.getClass())你會(huì)得到class sun.net.www.protocol.http.HttpURLConnection 的輸出,這證明返回來(lái)得con是URLConnection的子類HttpURLConnection實(shí)例。如果你的URL的String參數(shù)是https://java.sun.com,那么它 會(huì)打印出class sun.net.www.protocol.https.HttpsURLConnectionImpl。 下面我們編寫一段程序,通過(guò)使用HttpURLConnection訪問(wèn)web頁(yè)面并把得到的內(nèi)容打印到控制臺(tái)。代碼如下
  1. import java.net.URL;
  2. import java.net.MalformedURLException;
  3. import java.net.URLConnection;
  4. import java.io.IOException;
  5. import java.io.BufferedReader;
  6. import java.io.InputStreamReader;

  7. public class WebPageReader {

  8. private static URLConnection connection;

  9. private static void connect( String urlString ) {
  10. try {
  11. URL url = new URL(urlString);
  12. connection = url.openConnection();
  13. System.out.println(connection.getClass());
  14. } catch (MalformedURLException e){
  15. e.printStackTrace();
  16. } catch (IOException e) {
  17. e.printStackTrace();
  18. }
  19. }

  20. private static void readContents() {
  21. BufferedReader in = null;
  22. try {
  23. in = new BufferedReader(
  24. new InputStreamReader(
  25. connection.getInputStream()));

  26. String inputLine;
  27. while (
  28. (inputLine = in.readLine()) != null) {
  29. System.out.println(inputLine);
  30. }
  31. } catch (IOException e) {
  32. e.printStackTrace();
  33. }
  34. }

  35. public static void main(String[] args) {
  36. if (args.length != 1) {
  37. System.err.println("usage: java WebPageReader "
  38. + "<url>");
  39. System.exit(0);
  40. }
  41. connect(args[0]);
  42. readContents();
  43. }
  44. }
復(fù)制代碼
我 們編譯這個(gè)代碼并執(zhí)行
javac WebPageReader.java
java WebPageReader http://localhost  你可以從控制臺(tái)看到他把頁(yè)面的內(nèi)容。

    如果你使用代理訪問(wèn)外面的網(wǎng)絡(luò)的話可以在程序中添加上下面的代碼
    System.getProperties().put("proxySet", "true");
    System.getProperties().put("proxyHost", "10.154.134.110");
    System.getProperties().put("proxyPort", "8080");

    下面簡(jiǎn)單的介紹一下重定向的問(wèn)題,當(dāng)你訪問(wèn)某個(gè)URL的時(shí)候,Server可能會(huì)把你重新定向到另外一個(gè)地址,我們可以用程序看看這個(gè)問(wèn)題是怎么發(fā)生的。 我們準(zhǔn)備一個(gè)簡(jiǎn)單的asp頁(yè)面位于http://localhost/test/redirect.asp,內(nèi)容如下
<%
response.redirect("http://localhost")
%>
當(dāng)訪問(wèn)他的時(shí)候他會(huì)把你定向到http://localhost 的地址去。
  1.   import java.net.URL;
  2.    import java.net.MalformedURLException;
  3.    import java.net.HttpURLConnection;
  4.    import java.io.IOException;

  5.    public class RedirectingReader {

  6.       private static HttpURLConnection connection;

  7.       private static void connect( String urlString ) {
  8.         try {
  9.           URL url = new URL(urlString);
  10.           connection
  11.               = (HttpURLConnection)url.openConnection();
  12.           System.out.println(connection.getURL());
  13.           System.out.println(
  14.               connection.getResponseCode() +
  15.               " " + connection.getResponseMessage());
  16.           System.out.println(connection.getURL());
  17.         } catch (MalformedURLException e){
  18.           e.printStackTrace();
  19.         } catch (IOException e) {
  20.           e.printStackTrace();
  21.         }
  22.       }

  23.       public static void main(String[] args) {
  24.         if (args.length != 1) {
  25.           System.err.println(
  26.                "usage: java WebPageReader "
  27.                + "<url>");
  28.           System.exit(0);
  29.         }
  30.         connect(args[0]);
  31.       }
  32.    }
  33. 編譯程序并執(zhí)行
  34. javac RedirectingReader.java
  35. java RedirectingReader http://localhost/test/redirect.asp
  36. 可以得到輸出為
  37. http://localhost/test/redirect.asp
  38. 200 OK
  39. http://localhost/localstart.asp
復(fù)制代碼
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JAVA 網(wǎng)絡(luò)程序
Android
Java獲取URL對(duì)應(yīng)的資源
「后端」網(wǎng)絡(luò)編程與通信原理
Java發(fā)送http請(qǐng)求并為http設(shè)置頭信息
如何調(diào)用別人的接口
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服