Здравствуйте! Сегодня: Сб, 24 Окт 2020, Ваш IP: 18.215.33.158 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Программирование для мобильных устройств
+ Создать новую тему Страница: 1
Тема: HttpWebRequest и HttpWebResponce · +  +  дата добавления: 19.06.2011 / 17:47
Автор темы:
Игорь Голов
Игорь Голов
тем: 47 / ответов: 141 / благодарностей: 6 / репутация: 21
СтражШерифЗа заслуги перед Kbyte.RuЧашка Kbyte.Ru>>
Url: futurefa...rnal.com
Icq: 309961234
ответов: 141
создал(а) тем: 47


Программе требуется отослать запрос и получить ответ для дальнейшей обработки. Собственно как лучше? Копание в просторах пока не помогло... :(
Технологии: .NET Compact Framework (.NET CF), C#
--
Главное - задаться целью. А при наличии цели....
 
Ответ # 1 # · +  +  дата добавления: 19.06.2011 / 18:42
Автор ответа:
Игорь Голов
Игорь Голов
тем: 47 / ответов: 141 / благодарностей: 6 / репутация: 21
СтражШерифЗа заслуги перед Kbyte.RuЧашка Kbyte.Ru>>
Url: futurefa...rnal.com
Icq: 309961234
ответов: 141
создал(а) тем: 47


  private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            RequestString = String.Format("http://www.argusm-edu.ru/php/_api/api_login.php?login={0}&pass={1}", this.txtLogin, txtPassword);
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(RequestString));
            HttpWebResponse responce = (HttpWebResponse)request.BeginGetResponse(GetResp, null);
        }
        private void GetResp(IAsyncResult result)
        {
            // Тут фиг знает что писать. Может кто - нибудь знает?
        }
--
Главное - задаться целью. А при наличии цели....
 
Ответ # 2 # · +  +  дата добавления: 19.06.2011 / 18:51
Автор ответа:
Игорь Голов
Игорь Голов
тем: 47 / ответов: 141 / благодарностей: 6 / репутация: 21
СтражШерифЗа заслуги перед Kbyte.RuЧашка Kbyte.Ru>>
Url: futurefa...rnal.com
Icq: 309961234
ответов: 141
создал(а) тем: 47


Строка 5 даёт ошибку:
System.InvalidCastException was unhandled
Message=InvalidCastException
StackTrace:
at Argus_M_Mobile.MainPage.btnLogin_Click(Object sender, RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
--
Главное - задаться целью. А при наличии цели....
 
Ответ # 3 # · +  +  дата добавления: 19.06.2011 / 20:35
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Для сложных запросов: Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Для простеньких, типа GET, можно WebClient использовать.
 
Ответ # 4 # · +  +  дата добавления: 19.06.2011 / 22:20
Автор ответа:
Игорь Голов
Игорь Голов
тем: 47 / ответов: 141 / благодарностей: 6 / репутация: 21
СтражШерифЗа заслуги перед Kbyte.RuЧашка Kbyte.Ru>>
Url: futurefa...rnal.com
Icq: 309961234
ответов: 141
создал(а) тем: 47


Дело в том, что там асинхронка используется.
--
Главное - задаться целью. А при наличии цели....
 
Ответ # 5 # · +  +  дата добавления: 20.06.2011 / 13:14
Автор ответа:
Shadowmaster
Shadowmaster
тем: 6 / ответов: 30 / благодарностей: 2 / репутация: 10
Url: kbyte.ru
ответов: 30
создал(а) тем: 6


private void GetResp(IAsyncResult result)
{
// Тут фиг знает что писать. Может кто - нибудь знает?
}
наверное
if (result.IsCompleted){
// ...
}
Строка 5 даёт ошибку:
IAsyncResult result = (IAsyncResult)request.BeginGetResponse(ne​w AsyncCallback(GetResp), null);
 
Ответ # 6 # · +  +  дата добавления: 21.06.2011 / 22:01
Автор ответа:
stringer
stringer
тем: 1 / ответов: 21 / благодарностей: 0 / репутация: 5
ответов: 21
создал(а) тем: 1


Чтобы не создавать новую тему, спрошу здесь:

Как узнать сжат ли поток ответа (HttpWebResponse) с помощью какого-либо компрессора (gzip, например)?
(ну, чтобы не применять декомпрессор к несжатому потоку)
 
Ответ # 7 # · +  +  дата добавления: 22.06.2011 / 10:07
Автор ответа:
Shadowmaster
Shadowmaster
тем: 6 / ответов: 30 / благодарностей: 2 / репутация: 10
Url: kbyte.ru
ответов: 30
создал(а) тем: 6


Чтобы не создавать новую тему, спрошу здесь
жаль, что такое заявление не совпадает с правилами форума.

if (result.Headers["Content-Encoding"] == "gzip")
{
 // это gzip
}
else
{
 // это все что угодно, кроме gzip
}
 
Ответ # 8 # · +  +  дата добавления: 22.06.2011 / 10:56
Автор ответа:
stringer
stringer
тем: 1 / ответов: 21 / благодарностей: 0 / репутация: 5
ответов: 21
создал(а) тем: 1


жаль, что такое заявление не совпадает с правилами форума
извиняюсь
но кто их читатет эти правила...

да, спасибо, похоже ваш вариант подходит
 
Страница: 1 + Создать новую тему