importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.net.Authenticator;
importjava.net.HttpURLConnection;
importjava.net.InetSocketAddress;
importjava.net.PasswordAuthentication;
importjava.net.Proxy;
importjava.net.URL;
publicclassProxyDemo2{
publicstaticvoidmain(String[]args)throwsException{
URLurl=newURL("http://www.3lai8.com");
///創建代理伺服器
InetSocketAddressaddr=newInetSocketAddress("192.168.0.254",8080);
//Proxyproxy=newProxy(Proxy.Type.SOCKS,addr);//Socket代理
Proxyproxy=newProxy(Proxy.Type.HTTP,addr);//http代理
Authenticator.setDefault(newMyAuthenticator("username","password"));//設置代理的用戶和密碼
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection(proxy);//設置代理訪問
InputStreamReaderin=newInputStreamReader(connection.getInputStream());
BufferedReaderreader=newBufferedReader(in);
while(true){
Strings=reader.readLine();
if(s!=null){
System.out.println(s);
}
}
}
{
privateStringuser="";
privateStringpassword="";
publicMyAuthenticator(Stringuser,Stringpassword){
this.user=user;
this.password=password;
}
(){
(user,password.toCharArray());
}
}
}
❷ java中的代理有什麼用
主要就是包裝被代理類,注冊一個回調類,攔截被代理類調用,執行相關操作,spring的aop就可以用代理來實現
❸ 請問用jsp 、java 如何檢測客戶端是否使用代理訪問你的網站例如網頁代理,軟體代理等。
客戶端使用了JS進行驗證,而伺服器端會使用Java進行驗證(或者使用Struts),一般情況下普通用戶都被擋在了JS驗證,如果有惡意用戶使用網頁代理繞過了JS驗證,那麼他同樣繞不過Struts的驗證,伺服器端就會報錯,如果伺服器端報錯了就代表有人使用了網頁代理在訪問你的網站。前提是你的JS端和Java端的驗證都足夠到位
❹ Java中如何使用動態代理來捕獲異常
你需要 AOP 技術,比如 Spring AOP 或 JBoss AOP 或 AspectJ,
它們處理AOP有3種技術,一種是生成一個類繼承自原來的類,一種是使用動態代理,還有一種直接修改生成的 class 文件,
像 Spring AOP / JBoss AOP 使用的是前面2種方法,有些類不是 final 或想修改的方法不是 final 可以用繼承的方法簡單些,但對於 final 型的沒辦法只能用動態代理。這兩種方法都是在程序運行時在內存中編譯代碼並載入它。
而對於 AspectJ 來說,它有一套自己的編譯器,在編譯項目之後再用它的編譯器再編譯一次就修改了生成的 class 文件,不過它還提供一個 ClassLoader 在載入時再修改 class 文件,不過這樣就需要一些特殊的配置來啟用這個 class loader,而用編譯時修改就簡單多了,它提供 ajdt 插件(在 eclipse 網站上下載) 來編輯和修改 AspectJ 配置。
用 base64 解碼這個鏈接: