java - 编写代理服务器

标签 java proxy https

最近,我一直在研究用 Java 编写代理服务器。我编写的服务器可以处理 GET 和 POST 方法。但是,它不支持 HTTPS 协议(protocol)。谷歌搜索没有什么帮助。我刚刚知道我也必须实现 CONNECT 方法(我们必须使用 HTTP TUNNELING)。但是,我将如何让这个东西工作,我没有最模糊的想法。如果您能给我一些有用的链接或帮我想出一个大概的主意,那将会很有帮助。

我尝试使用以下代码,但过了一会儿就卡住了:

SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();  

Socket tunnel = new Socket ("127.0.0.1",8036);   

OutputStream serverOut = tunnel.getOutputStream();  
String requestSSLServer = "CONNECT " + urlServer + " HTTP/1.0 \n" + secondLine + "\r\n";  
byte b[];   
b= requestSSLServer.getBytes("ASCII7");  
serverOut.write(b);   

传递给 Socket 对象的 IP 地址和端口号应该是什么?? 接下来我该怎么办?? 接下来我该怎么办??

最佳答案

您编写的是 HTTP 代理。电子邮件使用与 HTTP 无关的协议(protocol)。了解这些协议(protocol)(POP、SMTP 和 IMAP),然后返回到此任务。

关于java - 编写代理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746823/

相关文章:

python - Windows 命令提示符,带有用于 Internet 访问的自动代理 URL

c# - 如何使用 Selenium C# PhantomJSDriver 设置 http referer header ?

http - 通过 http 发送二进制数据

wordpress - 从 HTTP 重定向到 HTTPS 会重复 www

java - Google Play 服务不兼容

java - 仅使用 for 循环组合两个不重复的 int 数组

c# - WCF、HTTPS 与 HTTP

google-chrome - 阻止不安全的内容 - Google Chrome

Java 属性配置

java - JMS QueueBrowser getEnumeration 是否需要连接启动