Я пытаюсь сделать 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
в браузере я получаю уведомление от Snarl о том, что Application Registered
и ответ, который я получаю от браузера,
SNP/2.0/0/OK/556
Ответ, который я получаю от моего кода, SNP/3.0/107/BadPacket
.
Итак, что не так с моим кодом.