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 解码这个链接: