C #: Как выполнить HTTP-запрос с использованием сокетов?

Я пытаюсь сделатьHTTP request используя сокеты. Мой код выглядит следующим образом:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class test
{
    public static void Main(String[] args)
    {
        string hostName = "127.0.0.1";
        int hostPort = 9887;
        int response = 0;

        IPAddress host = IPAddress.Parse(hostName);
        IPEndPoint hostep = new IPEndPoint(host, hostPort);
        Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        sock.Connect(hostep);

        string request_url = "http://127.0.0.1/register?id=application/vnd-fullphat.test&title=My%20Test%20App";
        response = sock.Send(Encoding.UTF8.GetBytes(request_url));
        response = sock.Send(Encoding.UTF8.GetBytes("\r\n"));

        bytes = sock.Receive(bytesReceived, bytesReceived.Length, 0);
        page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
        Console.WriteLine(page);
        sock.Close();
    }
}

Теперь, когда я выполняю вышеуказанный код, ничего не происходит, тогда как когда я вхожу вrequest_url в браузере я получаю уведомление от Снарла о том, чтоApplication Registered и ответ, который я получаю из браузера

SNP/2.0/0/OK/556

Ответ, который я получаю из своего кода:SNP/3.0/107/BadPacket.

Итак, что не так с моим кодом.

Snarl Запросить спецификацию формата

Ответы на вопрос(4)

Ваш ответ на вопрос