как правильно сформировать https request?
От: BeerKiller  
Дата: 11.10.07 05:31
Оценка:
всем привет!

вот такая у меня проблема: нужно сделать срвлет, который будет слать запросы на другой сервлет (на другой сервер) и обрабатывать ответы с того сервлета. загвоздка заключается в том, что я не могу отправить запрос, если удаленный сервер https.

код, который успешно шлет запросы по http примерно такой:


Socket socket = new Socket(host, port); // String host и int port соответственно
...
OutputStream out = new BufferedOutputStream(socket.getOutputStream());
...
StringBuffer sb = new StringBuffer(200);
sb.append(req.getMethod());  // req - это HttpServletRequest
sb.append(' ');    
sb.append(path); // path = /[contextPath]/[servletName]
sb.append(' ');
sb.append("HTTP/1.1");
sb.append("\r\n");
out.write(sb.toString().getBytes());

Enumeration en = req.getHeaderNames();
while (en.hasMoreElements()) {
    String k = (String) en.nextElement();
    if ("Host".equalsIgnoreCase(k)) {
        sb.setLength(0);
        sb.append(k);
        sb.append(": ");
        sb.append(host);
        sb.append(":");
        sb.append(port);
        sb.append("\r\n");
        out.write(sb.toString().getBytes());
    } else {
        sb.setLength(0);
        sb.append(k);
        sb.append(": ");
        sb.append(req.getHeader(k));
        sb.append(CRLF);
        out.write(sb.toString().getBytes());
    } 
}

sb.setLength(0);
sb.append("address: ");
sb.append(req.getRemoteAddr());
sb.append("\r\n");
out.write(sb.toString().getBytes());

out.write("\r\n".getBytes());
out.flush();


помогите разобраться, что еще надо дописать в запрос, чтобы по https заработало? только пожалуйста не посылайте меня на гугл, я там был и прдолжаю там искать...

спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.