ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 09.11.2008, 22:37
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от l.sEw.l  
Инициализировать для этого сокеты, а в C# это меганеудобно, думаю будет глупо.
Да уж, меганеудобно :D :D

Код:
using System;
using System.Net;
using System.IO;
using System.Net.Sockets;
using System.Text;

class SimplestWebBrowser
{
	[STAThread]
	static void Main(string[] args)
	{
		Console.Write("Enter URL (for example http://google.com ):");
		string URL = Console.ReadLine();
        //парсим
        string[] parts = URL.Split(new char[]{'/'}, 4);
        if(parts.Length<3)
            throw new Exception ("Bad URL");
        string host = parts[2];
        //открываем сокет
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        socket.Connect(host, 80);
        //отправляем запрос
        byte[] buffer = Encoding.Default.GetBytes(
            string.Format(
@"GET /{0} HTTP/1.0
Host: {1}

", parts.Length>3?parts[3]:"", host));
        socket.Send(buffer);
        //принимаем ответ
        byte[] recBuffer = new byte[4096];//принмаем максимум 4 кб за раз
        string answer = "";
        int recCount;
        do
        {
            recCount = socket.Receive(recBuffer);
            //перобразуем в ASCII
            answer += Encoding.Default.GetString(recBuffer, 0, recCount); 
        } while (recCount > 0);
        //скажем серверу пока
        socket.Close();
        //покажем ответ
        Console.WriteLine(answer);
        Console.ReadLine();
	}
}
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ