Написание прокси-сервера - PullRequest
1 голос
/ 21 апреля 2011

Недавно я занимался написанием прокси-сервера на Java.Я написал, что сервер может обрабатывать методы GET и POST.Однако это не очень помогает.Я только что узнал, что мне придется также реализовать метод 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);   

Чтодолжен ли IP-адрес и номер порта передаваться объекту Socket ??Что я должен делать дальше??Что я должен делать дальше??

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

То, что вы написали, является HTTP-прокси.Электронная почта использует протоколы, которые не имеют ничего общего с HTTP.Узнайте об этих протоколах (POP, SMTP и IMAP) и затем вернитесь к этой задаче.

1 голос
/ 21 апреля 2011

Написание почтового ретранслятора сложнее, чем HTTP-прокси, так как заголовки отличаются, и вам придется менять / устанавливать некоторые из них на лету.Однако, если вы хотите обеспечить ретрансляцию почты (отправки), тогда стандартный порт для SMTP (отправки почты) - 25;тем не менее, поскольку это простой текст, если требуется аутентификация, вам, вероятно, придется использовать smtps (безопасный SMTP), равный 465. Если вы хотите предоставить прокси imap (для чтения почты), тогда порт будет 143 или 220 (для imap3) - также для imaps (безопасный imap) - 993. И последнее, но не менее важное: если вы хотите предоставить прокси POP (для чтения почты), тогда порт для pop2 - 109, а для POP3 - 103 (который широко распространенв настоящее время - я не знаю никого, кто еще бы использовал POP2).Также защищенный POP3 находится на порту 995.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...