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

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

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

    隨筆-59  評論-31  文章-0  trackbacks-0

    1.java的System.getProperty()方法可以獲取的值

    java.version

    Java 運行時環境版本

    java.vendor

    Java 運行時環境供應商

    java.vendor.url

    Java 供應商的 URL

    java.home

    Java 安裝目錄

    java.vm.specification.version

    Java 虛擬機規范版本

    java.vm.specification.vendor

    Java 虛擬機規范供應商

    java.vm.specification.name

    Java 虛擬機規范名稱

    java.vm.version

    Java 虛擬機實現版本

    java.vm.vendor

    Java 虛擬機實現供應商

    java.vm.name

    Java 虛擬機實現名稱

    java.specification.version

    Java 運行時環境規范版本

    java.specification.vendor

    Java 運行時環境規范供應商

    java.specification.name

    Java 運行時環境規范名稱

    java.class.version

    Java 類格式版本號

    java.class.path

    Java 類路徑

    java.library.path

    加載庫時搜索的路徑列表

    java.io.tmpdir

    默認的臨時文件路徑

    java.compiler

    要使用的 JIT 編譯器的名稱

    java.ext.dirs

    一個或多個擴展目錄的路徑

    os.name

    操作系統的名稱

    os.arch

    操作系統的架構

    os.version

    操作系統的版本

    file.separator

    文件分隔符(在 UNIX 系統中是“/”)

    path.separator

    路徑分隔符(在 UNIX 系統中是“:”)

    line.separator

    行分隔符(在 UNIX 系統中是“/n”)

    user.name

    用戶的賬戶名稱

    user.home

    用戶的主目錄

    user.dir

    用戶的當前工作目錄

    2.java 通過System.getProperties()獲取系統參數

       Properties props=System.getProperties(); //系統屬性
       System.out.println("Java
    的運行環境版本:"+props.getProperty("java.version"));
       System.out.println("Java
    的運行環境供應商:"+props.getProperty("java.vendor"));
       System.out.println("Java
    供應商的URL"+props.getProperty("java.vendor.url"));
       System.out.println("Java
    的安裝路徑:"+props.getProperty("java.home"));
       System.out.println("Java
    的虛擬機規范版本:"+props.getProperty("java.vm.specification.version"));
       System.out.println("Java
    的虛擬機規范供應商:"+props.getProperty("java.vm.specification.vendor"));
       System.out.println("Java
    的虛擬機規范名稱:"+props.getProperty("java.vm.specification.name"));
       System.out.println("Java
    的虛擬機實現版本:"+props.getProperty("java.vm.version"));
       System.out.println("Java
    的虛擬機實現供應商:"+props.getProperty("java.vm.vendor"));
       System.out.println("Java
    的虛擬機實現名稱:"+props.getProperty("java.vm.name"));
       System.out.println("Java
    運行時環境規范版本:"+props.getProperty("java.specification.version"));
       System.out.println("Java
    運行時環境規范供應商:"+props.getProperty("java.specification.vender"));
       System.out.println("Java
    運行時環境規范名稱:"+props.getProperty("java.specification.name"));
       System.out.println("Java
    的類格式版本號:"+props.getProperty("java.class.version"));
       System.out.println("Java
    的類路徑:"+props.getProperty("java.class.path"));
       System.out.println("
    加載庫時搜索的路徑列表:"+props.getProperty("java.library.path"));
       System.out.println("
    默認的臨時文件路徑:"+props.getProperty("java.io.tmpdir"));
       System.out.println("
    一個或多個擴展目錄的路徑:"+props.getProperty("java.ext.dirs"));
       System.out.println("
    操作系統的名稱:"+props.getProperty("os.name"));
       System.out.println("
    操作系統的構架:"+props.getProperty("os.arch"));
       System.out.println("
    操作系統的版本:"+props.getProperty("os.version"));
       System.out.println("
    文件分隔符:"+props.getProperty("file.separator"));   // unix 系統中是"/"
       System.out.println("
    路徑分隔符:"+props.getProperty("path.separator"));   // unix 系統中是":
       System.out.println("
    行分隔符:"+props.getProperty("line.separator"));   // unix 系統中是"/n
       System.out.println("
    用戶的賬戶名稱:"+props.getProperty("user.name"));
       System.out.println("
    用戶的主目錄:"+props.getProperty("user.home"));
       System.out.println("
    用戶的當前工作目錄:"+props.getProperty("user.dir"));

     

    3.

    Java編寫通過代理訪問的應用程序

    本技巧將向您講述如何編寫可通過代理訪問因特網上的Web服務器的Java應用程序。在Java應用程序中加入代理支持只需額外編寫幾行代碼,且不依賴任何安全性漏洞

    Java和代理結合起來的秘訣即在Java運行時激活特定的系統屬性。這些屬性未被寫入正式文件,只是作為Java傳說的一部分在Java編程人員中秘傳。為了支持代理,Java應用程序不僅需要指定代理本身的信息,而且需要指定用于認證的用戶信息。在開始使用網際協議之前,您需要在程序中添加以下幾行代碼:
    //通知Java您要通過代理進行連接
    System.getProperties().put("proxySet","true");

    //指定代理所在的服務器
    System.getProperties().put("proxyHost","myProxyMachineName");

    //指定代理監聽的端口
    System.getProperties().put("proxyPort","85"); 

     有些代理在授權用戶訪問因特網之前,要求用戶輸入用戶名和口令。如果您使用位于防火墻之內的Web瀏覽器,您就可能碰到過這種情況。以下是執行認證的方法:

    URLConnection
     connection=url.openConnection();
    String
       password="username:password";
    String
       encodedPassword=base64Encode(password);
    connection.setRequestProperty("Proxy-Authorization",encodedPassword); 

      這段代碼的思想是,您必須調整HTTP標頭以發出用戶信息。這是通過調用setRequestProperty()來實現的。這種方法允許您在發出請求之前處理HTTP標頭。HTTP要求用base64對用戶名和口令進行編碼。幸運的是,有一組公用域API,它們將代您執行編碼(請參閱參考資源部分)。

      如您所見,在Java應用程序中加入代理支持并不需要做多少工作。有了現在的知識,再做一點研究(您必須查明您的代理是如何處理您感興趣的協議以及如何進行用戶認證的),您就能用其他協議實現代理。
        HTTP代理:(例子)

    Properties props = System.getProperties();

               props.put("http.proxyHost""192.168.0.150");

               props.put("http.proxyPort""808");
      FTP代理

      ScottD.Taylor提出這個秘訣來處理FTP協議代理:

    defaultProperties.put("ftpProxySet","true");
    defaultProperties.put("ftpProxyHost","proxy-host-name");
    defaultProperties.put("ftpProxyPort","85"); 

      接下來您便可以通過以下代碼使用"ftp"協議訪問文件URL

    URL
     url=newURL("ftp://ftp.netscape.com/pub/navigator/3.04/windows/readme.txt"); 

      如果有人有使用其他網際協議代理的例子,我很想看看。

      注意:代碼示例(Example.java)僅在JDK1.1.4下測試過。

      后續技巧!

      對于仍在使用JDK1.1.7(配合WebSphere3.0)的開發人員而言,將proxyHostproxyPort設為系統屬性不起作用;conn.getInputStream()或者返回連接超時,或者是找不到主機路徑。但是,我使用接受HostPort為參數的URL構造函數解決了這一問題(使用我的代理主機和端口):

    public
     URL(String protocol,String host,int port,String file). 

      借助用戶名和口令進行認證的方法不起作用。應將"Basic"置于認證字符串的開頭;例如:

    String
     encodedPassword=base64Encode(password); 

      應該是:

    String
     encodedPassword="Basic"+base64Encode(password); 

      您也不必用一個單獨的程序來進行64位編碼。您可以使用sun.misc.BASE64Encoder()類。下面是完成這兩處改動之后的代碼:

    System.getProperties().put("proxySet","true");
    System.getProperties().put("proxyHost",proxyHost);
    System.getProperties().put("proxyPort",proxyPort);
    String
     authString="userid:password";
    String
     auth="Basic"+newsun.misc.BASE64Encoder().encode(authString.getBytes());
    URL
     url=newURL("http://java.sun.com/");
    URLConnection
     conn=url.openConnection();
    conn.setRequestProperty("Proxy-Authorization",auth); 

      下面是使用socks4代理服務器的方法:

    System.getProperty("socksProxySet",true);
    System.getProperty("socksProxyHost",proxyHostName);
    System.getProperty("socksProxyPort",proxyPort);
    Usually
     the proxyPort for Socks 4 is port 1080

    posted on 2012-01-04 14:37 RoyPayne 閱讀(8337) 評論(0)  編輯  收藏 所屬分類: java高級
    主站蜘蛛池模板: 三年在线观看免费观看完整版中文 | 久久亚洲av无码精品浪潮| 亚洲成人在线免费观看| 免费福利在线视频| 国产成人精品日本亚洲网站| 精品人妻系列无码人妻免费视频| 亚洲国产中文v高清在线观看| 黄网站在线播放视频免费观看| 日韩一级在线播放免费观看| 久久久久久久久无码精品亚洲日韩 | 亚洲校园春色另类激情| 在线观看av永久免费| 国产精品亚洲片在线va| 成人au免费视频影院| 日本亚洲欧美色视频在线播放| 免费一级国产生活片| 四虎影视久久久免费观看| 伊人久久亚洲综合| 国产免费无码一区二区| 久久久亚洲欧洲日产国码二区 | 日韩免费在线观看| 精品国产亚洲AV麻豆| 亚洲国产天堂久久久久久| 国产精品免费视频观看拍拍| 久久久久亚洲精品无码蜜桃| 免费观看AV片在线播放| 亚洲av乱码一区二区三区按摩 | 亚洲欧洲视频在线观看| 免费精品一区二区三区在线观看| 国产亚洲精品美女久久久久| 2022中文字字幕久亚洲| 久9这里精品免费视频| 亚洲精品**中文毛片| 国产色爽免费视频| 在线看片免费人成视频播| 亚洲午夜在线一区| www国产亚洲精品久久久| 成人久久免费网站| 亚洲色丰满少妇高潮18p| 久久久精品国产亚洲成人满18免费网站| 麻豆精品成人免费国产片|