Отправка GET/POST запроса сокетами - C#
Формулировка задачи:
Здравия. В общем, пытаюсь отправлять GET запрос таким кодом:
Запрос ВРОДЕ отправляется, а смотря на мониторы сниффера - нет. Фиддлер и вайршарк просто не видят этот запрос, почему так?
Листинг программы
- Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- socket.Connect(Url, 80);
- byte[] contentLenght = Encoding.ASCII.GetBytes(Data);
- string[] masRequestString ={
- "GET /"+Data+" HTTP/1.1\r\n" ,
- "Host: "+Url+"\r\n",
- "User-Agent: "+textBox1.Text+"\r\n",
- "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n",
- "Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n",
- "Referer: "+textBox2.Text+"\r\n"};
- string request = string.Concat(masRequestString);
- Byte[] bytesSent = Encoding.ASCII.GetBytes(request);
- socket.Send(bytesSent, bytesSent.Length, 0);
- Byte[] bytesReceived = new Byte[0x400];
- int bytes = socket.Receive(bytesReceived, bytesReceived.Length, 0);
- string content = Encoding.ASCII.GetString(bytesReceived, 0, bytes);
Вверх
Вверх
Решение задачи: «Отправка GET/POST запроса сокетами»
textual
Листинг программы
- string address = "http://example.com/folder/file?a=1&b=2";
- using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
- {
- Uri uri = new Uri(address);
- if (!uri.Scheme.Equals("http", StringComparison.OrdinalIgnoreCase) && !uri.Scheme.Equals("https", StringComparison.OrdinalIgnoreCase))
- {
- return;
- }
- socket.Connect(uri.Host, uri.Port);
- string req = string.Format(
- @"GET {0} HTTP/1.1
- Host: {1}
- User-Agent: {2}
- Connection: close
- "
- , uri.PathAndQuery
- , uri.Host
- , "MegaSuperApplication"
- );
- socket.Send(Encoding.ASCII.GetBytes(req));
- byte[] responseBytes = new byte[60000];
- int received = socket.Receive(responseBytes);
- string responsePart = Encoding.ASCII.GetString(responseBytes, 0, received);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д