超简单的编写一个IP切换软件

前言

        将本机的网络IP地址,从当地切换到你想要的地方,通过IP切换突破地理意义上的限制,例如你电脑上的IP地址是在重庆,你想你发布抖音的位置在山西,来达到互联网上的整活流量,只需要通过软件切换到当地的IP即可,由于我写完了客服还没有我把文档发给我,参数这一部分我展示不了

技术要点

        主要采用SpringBoot搭建框架,主动发送HTTP请求,页面使用Swing将页面和他们的功能呈现出来即可。

SpringBoot后端发送功能代码模块

  1. 我这里使用太阳HTTP代理为列(注册和登录我就不重复说了),这里需要注意的是URL路径上的参数是什么意思,


        2.编写一个参数发送urlParamReq参数发送类,

         3,写一个模拟GET的请求,然后对其JSON格式解析,得到data中的数据返回即可

 /**
     * 获取太阳IP
     * @param req
     * @return
     */
    @GetMapping(value = "/getip")
    public R getZMProxyIp(@Valid UrlParamReq req){
        //IP_URL是发送地址,req.getParams是路径上的参数
        String url=IP_URL+req.getParams();
        //restTemplate,发送http请求,String.class返回的类型
        String result=this.restTemplate.getForObject(url,String.class);
        //Hutuul工具包解析json格式
        JSONObject entries = JSONUtil.parseObj(result);
{"code":0,"data":[{"ip":"182.204.180.102","port":"4331"}],"msg":"0","success":true}
        //发送的格式,这样对其解析就可以拿到ip和端口了
        if(entries.getInt("code")==0){
            return R.okHasData(entries.getJSONArray("data"));
        }else{
            R r=R.build(AckCode.FAIL);
            r.setMsg(entries.getStr("msg"));
            return r;
        }
    }

        4,将本机的IP添加到白名单中,不然无法使用,(我自己就在这里遇到一个坑,将SpringBoot项目布置到云服务器上后,查询的本机IP就是服务器的IP,添加了服务器的IP,但客户端的IP还没有添加进来,需要客户端通过cmd查询本机的IP在次添加进白名单才可以)

swing展示功能页面

         1,Swing编写接受后端发出的IP和端口号,同样这里要写一个urlParamResp类接受IP和port

    /**
     * 获取代理IP地址,SERVER_ADDRESS这里的地址写Http://localhost:8080即可
     */
    public static final String PROXY_IP_URL=SERVER_ADDRESS+"/getip";

     /**
     * 得到IP和port
     * @return
     */
    public  static  List<urlParamResp>  findProxyIP(UrlParamReq req) throws Exception {
        String url=PROXY_IP_URL+"?"+ req.getParams();
        //这里采用HttpUtil发送Http请求,
        String result=HttpUtil.createGet(url).execute().body();
        JSONObject jsonObject = JSONUtil.parseObj(result);
        if(jsonObject.getInt("code")==200){
            List<urlParamResp> ret_data = jsonObject.getBeanList("data", urlParamResp.class);
            return ret_data;
        }else{
            throw new Exception( jsonObject.getStr("msg"));
        }
    }

        2,在swing中切换全局代理这个按钮绑定事件,在这个事件中使用JAVA操纵cmd修改注册表

 
                    try {
                        //更改代理的IP
                        String[] f_changeInterval = {"REG", "ADD", "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "/v",
                                "ProxyServer", "/t", "REG_SZ", "/d", ipAndPort, "/f"};
                        //ipAndPort替换成自己的即可,用管理员执行cmd
                        Runtime.getRuntime().exec(f_changeInterval);


                        // 启用代理服务
                        String[] f_changeEnable = {"REG", "ADD", "HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "/v",
                                "ProxyEnable", "/t", "REG_DWORD", "/d", "1", "/f"};
                        Runtime.getRuntime().exec(f_changeEnable);

                        showInfo("信息","设定全局代理IP完成");
                    } catch (IOException e) {
                        showError("错误","设定全局代理IP失败");
                        throw new RuntimeException(e);
                    }

到这里一个最简单的IP切换就已经完成了,需要注意的是代理给的IP一般只有几分钟的有效时间,也可以申请长期的IP,且带宽一般都不高,提升带宽需要找客服

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值