`

Java中通过代理连接至指定的URL

    博客分类:
  • Java
阅读更多
import java.io.BufferedReader;   
import java.io.IOException;   
import java.io.InputStreamReader;   
import java.net.Authenticator;   
import java.net.InetSocketAddress;   
import java.net.PasswordAuthentication;   
import java.net.Proxy;   
import java.net.URL;   
import java.net.URLConnection;   
import java.util.regex.Matcher;   
import java.util.regex.Pattern;   
  
public class ProxyConnectionTest {   
    public static void main(String[] args) throws IOException {   
        // 设置代理 地址和密码   
        Proxy proxy = new Proxy(Proxy.Type.HTTP,    
                new InetSocketAddress(host, port));   
  
        // 设置代理的密码验证   
        Authenticator auth = new Authenticator() {   
            private PasswordAuthentication pa =    
                new PasswordAuthentication(username, password.toCharArray());   
            @Override  
            protected PasswordAuthentication getPasswordAuthentication() {   
                return pa;   
            }   
        };   
        Authenticator.setDefault(auth);   
           
        // 打开连接   
        System.out.println("connecting...");   
        URL url = new URL("http://www.iteye.com/");   
        URLConnection conn = url.openConnection(proxy);   
  
        // 读取内容   
        InputStreamReader isr = new InputStreamReader(conn.getInputStream());   
        BufferedReader br = new BufferedReader(isr);   
        String line = null;    
        while ((line = br.readLine()) != null) {   
            System.out.println(line);   
        }   
           
        System.out.println("done.");   
    }   
}  

 

然而,这里指定一些URL时总是出现这样那样的错误。比如就无法正常读取http://news.google.com,很多网站的域名后面必须加"/",如果"http://www.iteye.com/"才能取到内容

分享到:
评论

相关推荐

    使用JAVA中态代理实现数据库连接池.doc

    通过使用 JAVA 中的动态代理机制,我们可以实现一个高效、灵活的数据库连接池,解决了现有的连接池实现方法增加耦合度的问题,并且提供了一个灵活的解决方案,可以满足不同的应用需求。 在本文中,我们讨论了使用 ...

    java开源包4

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    JAVA上百实例源码以及开源项目

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    JAVA上百实例源码以及开源项目源代码

    通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从...

    java开源包11

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包6

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包9

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包101

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包5

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java jmx agent不安全的配置漏洞如何改进(由浅入深代码范例和详细说明).docx

    Java JMX(Java Management Extensions)是一种用于监控和管理应用程序的工具,通过使用 JMX Agent,我们可以暴露应用程序的管理和监控接口,从而允许外部管理应用程序的运行状态和配置。然而,如果 JMX Agent 的...

    java开源包8

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包10

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包3

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包1

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    用Java实现HTTP文件队列下载.pdf

    Java 中通过代理服务器访问外网的方法已经是世人皆知的秘密了。可以通过设置代理服务器的参数来实现代理访问。 ```java System.getProperties().put("proxySet", "true"); System.getProperties().put("proxyHost", ...

    java jdk实列宝典 光盘源代码

    代理服务器,ProxyServer.java; telnet客户端,访问系统的telnet服务实质上是与telnet服务建立socket连接,默认的telnet服务的端口是23,TelnetClient.java; UDP编程,包括收发udp报文; 聊天室服务器端,Chat...

    java开源包2

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    java开源包7

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

    Java资源包01

    ftp4j提供多种方式连接到远程FTP服务器包括:通过 TCP/IP直接连接,通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接,通过SSL安全连接。 Java的命令行进度条 JCmdLineProgess JCmdLineProgess 是一个 Java ...

Global site tag (gtag.js) - Google Analytics