Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Get запрос на определенный ip


Автор: Darkternal 15.11.2011, 11:54
Здравствуйте. Мне нужно просканировать диапозон ip-адресов и узнать на каких из этих адресов присутствует сайт вида site.ru, то есть сделать на каждый из серверов get запрос http://site.ru. Подскажите, возможно ли такое и как примерно это должно выглядеть на c#?

Автор: Fortnox 15.11.2011, 12:44
Возможно. Примерно:
Код

HttpWebRequest req;
HttpWebResponse res;
StreamReader sr;

try 
{
    req = (HttpWebRequest)WebRequest.Create(URL); // где URL - ip адрес
    req.Timeout = 5000; // тайм-аут запроса (5 сек, например)
    res = (HttpWebResponse)req.GetResponse();
    sr = new StreamReader(resp.GetResponseStream());
    try 
    { 
        // обрабатывает ответ
    }
    finally 
    {
        sr.Close(); 
    }
}
catch (Exception ex) 
{ 
    // обрабатывает ошибки при запросе, например, сервер недоступен
}

Автор: Darkternal 15.11.2011, 13:49
Это понятно, но на этом ip может быть несколько сайтов. А мне надо получить конкретный site.ru минуя DNS-сервер.

Автор: jonie 15.11.2011, 16:39
Darkternal, http://stackoverflow.com/questions/523930/sockets-in-c-how-to-get-the-response-stream

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)