#.net #sockets #ssl #https #http-headers
#.net #сокеты #ssl #https #http-заголовки
Вопрос:
Я использую приведенный ниже код для отправки заголовков на указанный мной сайт, который отлично работает с протоколом HTTP (порт = 80), но теперь я пытаюсь отправить заголовки, используя HTTPS (порт = 443).
mytcpclient = new TcpClient();
mytcpclient.Connect(host, port);
mysocket = mytcpclient.Client;
SendHeader(mysocket);
public void SendHeader(Socket mySocket)
{
String sBuffer = "";
sBuffer = sBuffer "GET /" pathquery " HTTP/1.1" "rn";
sBuffer = sBuffer "Host: " hostname "rn";
sBuffer = sBuffer "Content-Type: text/htmlrn";
sBuffer = sBuffer "rn";
Byte[] bSendData = Encoding.ASCII.GetBytes(sBuffer);
mySocket.Send(Encoding.ASCII.GetBytes(sBuffer), Encoding.ASCII.GetBytes(sBuffer).Length, 0);
}
Я знаю, что есть класс SslStream, но я не уверен, как переписать код, чтобы он правильно отправлял заголовки на сайты, использующие SSL.
Ответ №1:
Используйте класс Webclient вместо TcpClient. Это сделано для http… Смотрите, например http://www.dotnetperls.com/webclient