`
2277259257
  • 浏览: 515018 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

获取网页源码,以及内网通过代理访问外网获取

 
阅读更多
public class WebTools {  
    public static void main(String[] args) {  
        String proxy = "proxy1.bj.petrochina";  
        int port = 8080;  
        String username = "name";  
        String password = "pwd";  
        initProxy(proxy,port,username,password);  
        String url="http://www.google.com";  
        /*System.out.println("content= "+WebTools.getHTML("http://www.baidu.com", "GB2312")); 
        System.out.println("网页源码:"+WebTools.getHTML("http://localhost:9001/rdfcc", "UTF-8"));*/  
        String[] res=WebTools.getSourceCode(url, "UTF-8");  
        if(res[0].equals("0")){  
            System.out.println("Geting Source Code Failed With:"+res[1]);  
        }else{  
            System.out.println("The Source Code Of "+url+" Is :\r\n"+res[1]);  
        }  
    }  
      
    /** 
     * 初始化网络代理,如果内网需要代理才能访问外网的话,那么就需要调用该方法 
     * @param host 代理名称 
     * @param port 端口号 
     * @param username 用户名(如果有的话) 
     * @param password 密码(如果有的话) 
     */  
    public static void initProxy(String host, int port, final String username,  
            final String password) {  
        Authenticator.setDefault(new Authenticator() {  
            protected PasswordAuthentication getPasswordAuthentication() {  
                return new PasswordAuthentication(username,  
                        new String(password).toCharArray());  
            }  
        });  
        System.setProperty("proxyType", "4");  
        System.setProperty("proxyPort", Integer.toString(port));  
        System.setProperty("proxyHost", host);  
        System.setProperty("proxySet", "true");  
    }  
      
    /** 
     * 获取网页源码 
     * @param pageURL 地址 
     * @param encoding 网页编码 
     * @return 长度为2的字符串数组,第一个元素表示获取是否成功,第二个元素表示成功与否返回的信息 
     */  
    public static String[] getSourceCode(String pageURL, String encoding) {  
        StringBuilder pageHTML = new StringBuilder();  
        try {  
            URL url = new URL(pageURL);  
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();  
            connection.setRequestProperty("User-Agent", "MSIE 7.0");  
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), encoding));  
            String line = null;   
            while ((line = br.readLine()) != null) {  
                pageHTML.append(line);  
                pageHTML.append("\r\n");  
            }  
            connection.disconnect();  
        } catch (Exception e) {  
            return new String[]{"0",e.getMessage()};  
        }  
        return new String[]{"1",pageHTML.toString()};  
    }  
}  

 

分享到:
评论

相关推荐

    内网穿透客户端无需要扩展版源码.zip_PHP 穿透内网_obtainpyb_php_php实现内网穿透_穿透

    标签中的"php_穿透内网"强调了该工具的主要功能,即利用PHP来实现在内网和外网之间的通信。PHP可以通过创建代理服务器或者使用HTTP/HTTPS协议来建立隧道,使得外部请求能够到达内网的特定服务。 "obtainpyb"可能是...

    获取路由器外网IP,Delphi源码实现..rar

    本资源提供的"获取路由器外网IP,Delphi源码实现..rar"是一个使用Delphi编写的程序,它展示了如何通过代码获取路由器的外部网络IP。 首先,我们需要理解外网IP(公网IP)的概念。外网IP是互联网上唯一标识一个网络...

    外网电脑通过Frp穿透IPC设备需要用到的golang和frp源码

    标题中的“外网电脑通过Frp穿透IPC设备需要用到的golang和frp源码”意味着我们要探讨的是如何利用Golang编程语言和Frp(Frugal Reverse Proxy)工具,实现外网计算机通过IPC(Industrial Personal Computer,工业...

    Go-简单的反向代理用于内网穿透

    通过在外网配置这样的代理,外部用户就可以通过8080端口访问到内网的服务器。 然而,实际的内网穿透可能涉及到更复杂的场景,比如动态端口分配、多个服务的穿透等。这时,我们可以自定义`director`函数来处理更复杂...

    java判断是内网ip还是公网ip

    在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...

    易语言API取本机外网ip

    但这些函数通常用于获取内网IP,对于外网IP,我们需要调用`WinINet`库中的API,如`InternetOpen`、`InternetConnect`、`HttpOpenRequest`、`HttpSendRequest`等,来与特定的IP查询服务器进行交互。 下面是一个简化...

    内网安装nginx(离线)

    本文将详细介绍如何在没有外网连接的情况下在内网安装Nginx,并探讨相关集群配置。 首先,你需要准备一个包含Nginx所有必需文件的离线资源包。这个资源包通常包括Nginx的源代码、编译所需的依赖库以及配置脚本。...

    中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目

    Solon提供了路由管理、MVC模型、中间件支持、模板引擎等功能,使得开发者可以快速搭建Web应用,并与中微子代理结合,实现内网服务的外网访问。 此外,中微子代理还集成了MybatisPlus,这是一个对Mybatis进行扩展的...

    高性能跨平台内网穿透工具FastTunnel.zip

    内网穿透技术,也称为NAT穿透,允许在内网设备与外网设备之间建立直接通信,这对于远程访问、分布式系统和物联网(IoT)应用尤其重要。 描述 "C#应用源码资料" 暗示FastTunnel是用C#编程语言开发的,C#是Microsoft...

    内网穿透 0.36.rar

    内网穿透技术是一种解决局域网内设备无法直接被公网访问问题的方法,它允许外部网络通过代理服务与内部网络中的设备进行通信。在本压缩包文件"内网穿透 0.36.rar"中,主要涵盖了在Ubuntu 20.04操作系统上安装和配置...

    基于ssm的商务安全邮箱邮件收发系统源码

    内网用户发送的认证请求,由接收服务器(如webserver 或POP3 server)代理,通过内网专有协议访问用户数据库,确保操作安全可靠。内外网分开的结构也同时减轻了网络流量负担。 邮箱的用户模块应队对应相应的监护...

    phpie

    从phpspy2006中提取出来的在线代理部分用法:一些学校有流量机制这个网页可以突破内网访问外网web首先上传这个程序到内网一台可以直接出外网的主机上,这台主机要支持PHP(比如学校的web服务器上)访问,ok!...

    易语言源码端口映射器.rar

    在实际应用中,端口映射器常被用于游戏服务器代理、远程桌面、家庭NAS设备的外网访问等方面,对于提高网络服务的可达性和可用性具有重要作用。通过分析和修改易语言源码,开发者可以根据自身需求定制更适合自己应用...

    linux环境安装nginx【纯内网版本】

    外网访问则需要考虑防火墙设置和公网IP映射。如果你的服务器有公网IP,可以直接通过80端口访问。如果仅限内网访问,可以考虑使用内网穿透工具,例如ngrok或frp,将内网服务暴露到公网。 `nginx部署前端项目参考文档...

    单点登录源码

    微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理、消息群发等基础功能外,还有二维码推广、营销活动、微网站、会员卡、优惠券等。 > zheng-wechat-app 微信小程序后台 ## 环境搭建...

    apache反向代理

    1. **防火墙配置**:防火墙上安装了两块网卡,一块用于外网(e0端口),其公网IP地址为1.2.3.4;另一块用于内网(e1端口),其内网IP地址为192.168.2.1。 2. **局域网内的Web服务器**:局域网内部共有三台Web服务器,...

    基于Springboot商务安全邮箱邮件收发.zip

    本课题研究的是安全商务邮箱,应用于一...内网用户发送的认证请求,由接收服务器(如webserver 或POP3 server)代理,通过内网专有协议访问用户数据库,确保操作安全可靠。内外网分开的结构也同时减轻了网络流量负担。

    2011年最新ASP站长助手 v1.0.rar

    把程序放在一台既能让外网访问又能被内网访问的WEB服务器上, 这样你就可以从网内通过它来上网,可以从网外通过它来访问内网网站, 这是一个神奇的功能) 16.超强的 ASP CMD命令运行(两种) 17.14.Sql提权(通过SQL...

    curl-7.41.0

    4. 代理支持:cURL能够通过代理服务器进行网络请求,适用于内网环境或需要经过代理才能访问外网的情况。 5. 数据编码:支持URL编码、POST数据编码,以及Multipart for POST等数据传输方式。 6. 安全性:支持SSL和...

    天清WAG快速安装指南-WAF7080.pdf

    - **配置代理模式**: 设置接口的外网和内网连接IP。 - **配置桥模式**: 连接设备到现有网络,并配置相关网络参数。 ### 软件升级 - **Web升级**: 通过Web界面进行软件升级的相关步骤。 ### 安全配置 - **配置...

Global site tag (gtag.js) - Google Analytics