Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2009, 22:12   #1
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
Счастье Как отправить web-запрос GET

Мне нужно отправить веб запрос GET и получить HTTP код ответа, MIME тип данных в ответе и собственно сами данные в ответе.

Как мне это реализовать на C#?

Сегодня долго ковырялся, нашел какой то HttpGetClientProtocol, заполнил все поля, но отправить запрос так и не смог! там просто нет такого метода.

Как быть?? покажите желательно на примере! Заранее спасибо!
Никки вне форума Ответить с цитированием
Старый 19.08.2009, 08:44   #2
neomichi
Пользователь
 
Регистрация: 26.03.2009
Сообщений: 43
По умолчанию Как бы это сделал я =)

Код:
namespace GetRequest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        IPAddress ip = Dns.GetHostAddresses("www.yandex.ru")[0];
        int port = 80;

        private string request_sposob1()
        {
            //http://ru.wikipedia.org/wiki/Http#GET
            string message = "GET http://www.yandex.ru/ HTTP/1.1" + Environment.NewLine;
            message+="Host: www.yandex.ru" + Environment.NewLine;
            message+="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729) YB/4.2.0.b" + Environment.NewLine;
            message+="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" + Environment.NewLine;
            message+="Accept-Language: ru" + Environment.NewLine;
            message+="Accept-Encoding: gzip,deflate" + Environment.NewLine;
            message+="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7" + Environment.NewLine;
            message+= "Keep-Alive: 300" + Environment.NewLine;
            message += "Proxy-Connection: keep-alive" + Environment.NewLine+Environment.NewLine;

            Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);

            TcpClient client= new TcpClient();
            client.Connect(ip,port); //соединяемся...
            if (client.Connected)
            {
                NetworkStream stream = client.GetStream();
                stream.Write(data, 0, data.Length);
                StreamReader reader = new StreamReader(stream);
                string response = reader.ReadToEnd();
                reader.Close();
                return response;
                
            }
            return string.Empty;
            
        }

        private string request_sposob2()
        {
            WebRequest wr = WebRequest.Create("http://yandex.ru");
            wr.Method = "GET";            
            WebResponse otvet = wr.GetResponse();
            StreamReader reader = new StreamReader( otvet.GetResponseStream());
            return reader.ReadToEnd();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(request_sposob1());
        }
    }
собственно какбы 2 способа

1 руками
2 с велосипедом



Я все же предпочел для начала бы руками пользоватся, т.е. способ 1, дабы вкурить весь процесс)

типо документация ->http://tools.ietf.org/html/rfc2616
еще вот тут есть -> http://ru.wikipedia.org/wiki/Http#GET

если надо могу показать как асинхронно

Последний раз редактировалось neomichi; 19.08.2009 в 08:55.
neomichi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить команду в консольное приложение ActioNs Общие вопросы C/C++ 1 04.08.2009 14:56
Как отправить сообщение участнику форума xNut О форуме и сайтах клуба 5 17.06.2009 12:30
как отправить файл по IdSMTP? Satorin Работа с сетью в Delphi 0 18.12.2008 22:41
Отправить запрос kommunist Общие вопросы .NET 4 30.06.2008 00:47
как отправить сообщения на Асю (icq) Ermak Работа с сетью в Delphi 8 19.09.2007 19:57