代理服务器的作用,大家是有目共睹的,确实给我们带来了很大的方便,Java如何实现代理服务器?
  

首先,这个需求可以简化为:

1、代理服务主机将客户机与代理服务主机之间的请求截获,然后直接将信息转发给目标主机;

2、代理服务主机将目标主机的回应直接转发给客户机。

代理服务主机可以通过socket直接获取客户机发送到本机指定端口的数据报文,那么通过分析内容可以得到客户机想要发送给目标主机的信息,代理服务主机可以通过socket的方式再次重新请求,将原来请求中的内容转发给目标主机,之后将目标主机的回应转发给客户机。

对于Java SE项目来说,有两者方式来实现:

1、采用原生的Java socket 编程。(存在多线程问题…)

2、采用第三方的网络应用框架,比如:mina、netty等。(开发简单,稳定可靠)

对于Java WEB项目来说,也有两者方式来实现:

1、采用上面的Java SE方案。

2、HTTP代理,拦截客户端的请求,并采用Http协议发送GET/POST请求给目标服务器。

Java如何实现代理服务器?相关推荐

  1. 用Java开发HTTP代理服务器

    HTTP代理服务器是一种网络应用,它充当位于客户端和目标服务器之间的中间节点,将客户端发出的HTTP请求转发给目标服务器,并将目标服务器返回的HTTP响应内容回传给客户端.通过使用代理服务器,客户端可 ...

  2. Java实现Http代理服务器通过http代理进行内网安装yum软件

    Java实现Http代理服务器&通过http代理进行内网安装yum软件 1.Http代理服务器简介 2.Http代理服务器Java实现 2.1 Java源码 2.2 代码分析说明 3.通过ht ...

  3. JAVA写HTTP代理服务器(三)-https明文捕获

    上一篇用netty实现的http代理服务器还无法对https报文进行解密,原因也说了,就是服务器的私钥不在我们这,根据RSA公钥加密私钥解密的特性,如果我们没有私钥的话是不可能获取到https的真实内 ...

  4. Java后端通过代理服务器请求网络资源

    1.需求 部署在内网服务器的JavaWeb项目,后端需要访问互联网,通过有网络访问权限的另一台服务器的代理转发实现互联网访问. 2.实现 内网设备--设为A,通过外网设备--设为B,访问互联网,需要分 ...

  5. Java实现sock5代理服务器

    入职练手socks5代理服务器,过程总结一下. 1.下载火狐浏览器,设定代理为socks5代理,地址为127.0.0.1:1080. 2.socks5协议1928,中文版,原版,认真阅读 3.按照协议 ...

  6. JAVA写HTTP代理服务器(一)-socket实现

    HTTP代理服务器是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接.一些网关.路由器等网络设备具备网络代理功能.一般认为代理服务有利于 ...

  7. JAVA写HTTP代理服务器(二)-netty实现

    接上一篇,因为是用BIO的一个连接一个线程去处理,对于HTTP这种短连接协议来说CPU开销是非常大的,就算加入了线程池也不能完美解决BIO的缺陷,所以可以用NIO进行服务器的优化,NIO基于IO多路复 ...

  8. Java实现Socket5代理服务器

    直接贴代码,不解释 1 主服务,用来侦听端口 package org.javaren.proxy;import java.net.ServerSocket; import java.net.Socke ...

  9. Java编写代理服务器(Burp拦截Demo)一

    大家都知道大名鼎鼎的BurpSuite代理神器,对于抓取HTTP请求非常好用,偶然,一朋友问我Java应该如何去编写代理服务器(因为他想做某些东西),有没有相关的API 去实现,我想说,差不多你能想到 ...

  10. Java实现HTTP文件下载(转)

    文章出自: http://www.360doc.com/content/12/1218/17/2718300_254818081.shtml 本人用这种方法解决了工作中遇到的问题,再次谢谢文章的作者. ...

最新文章

  1. 地面标识检测与识别算法
  2. sql server几种读写分离方案的比较
  3. python api开发用什么框架_python+requests接口自动化框架
  4. NEO versus Ethereum: Why NEO might be 2018’s strongest cryptocurrency
  5. spring源码分析第二天------spring系统概述以及IOC实现原理
  6. Redis系列1——概述
  7. 工作记录 反射
  8. Spring经典高频面试题,原来是长这个样子
  9. IDEA,Pycharm等环境中复制代码到word去除黑色背景
  10. (译)Xposed Helpers
  11. vue-router
  12. 【python第3课】顺序、循环、分支
  13. 几种求函数最值的算法
  14. 京东商城ContainerLB实践
  15. 怎样用计算机给ipd传电影,怎样不使用iTunes将电影导入iPad?
  16. 微信小程序访问后端服务器
  17. tomcat配置url跳转_Tomcat
  18. COVID应对小tips
  19. html中a标签的属性
  20. 国家知识产权局一行走访易保全调研区块链,提升相关专利审查工作质效

热门文章

  1. cs61A homework4
  2. SSH和SSM有什么区别?
  3. matlab非牛顿流体,可用于常见非牛顿流体的数值模拟方法与流程
  4. html 自动增加分页,HTML静态页面如何实现自动分页?
  5. 把arduino当AVRISP烧写器Arduino给Arduino烧boot
  6. 几种常用的分布式定时任务
  7. 用Excel做简单的数据分析
  8. flashfxp链接Linux
  9. 【洛谷试炼场】普及练习场——字符串处理
  10. WebView如何引用本地字体