Как отправлять заголовки на сайты, использующие HTPPS в .NET?

#.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