Грабли с WebRequest

    Начал осваивать Google Data API и столкнулся с проблемой, что первый запрос на авторизацию выполняется очень долго: 5-10 секунд, хотя последующие запросы проходят быстро.
    Причём примеры к Google Data API работают точно так же. Думал, что это какая-то хитрая защита, но всё оказалось довольно просто.
    WebRequest перед первым запросом пытается автоматически определить настройки прокси — на это и уходит время.
    Автоопределение прокси можно отключить, добавив в app.config сецию:
    <system.net>
      <defaultProxy enabled="false"/>
    </system.net>


    * This source code was highlighted with Source Code Highlighter.

    Или более жестоко, написав после создания webRequest'a: webRequest.Proxy = null;.

    Средняя зарплата в IT

    113 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 10 037 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 16

      0
      Это полезно знать, спасибо
        +4
        а у вас не windows7 стоит случаем?
        недавно нарвался, что она очень медленно с sharepoint работает
        оказалось, надо было в свойствах подключения IE снять галочку auto-detect proxy
        галочка системная, влияет на все подключения
        а у вас та же настройка просто зашита в приложения

        с WebRequest работаю ну очень давно, и никогда раньше проблем с Proxy не было
        максимум для чего бубен применялся — это чтобы оно невалидный SSL скушало
          +1
          Да, действительно, Windows 7.
          0
          Ни разу такого недокументированного поведения с WebRequest не наблюдал. Ни на XP, ни на Vista, ни на Win7. Вот HttpWebRequest — там да, даже в доках написано, что поле Proxy по умолчанию заполняется из настроек IE
            0
            Это и есть, видимо, HttpWebRequest, ведь WebRequest абстрактный и это его реализация.
            0
            хм, в моей апликухе используется интеграция с PayPal. WebRequestы к нему идут 1,5-2 секунды, а на оплату реквест 5-10 секунд. Но ваше решение ситуацию не изменил :( жаль
              0
              Я думал, что много времени на первый HTTP запрос в J2ME тратит мобильный оператор (аутентификация там и т.п.).
              Вероятно, Вы правы с прокси.
              Каким образом можно его отключить в J2ME? Кто-нибудь знает?
              Что-то типа System.setProperty(«http.proxyHost»,«null» );?
                0
                По-моему, вы топиком ошиблись)
                0
                в свое время так же краснел перед заказчиком, когда не смог сразу понять почему именно в его корпортаивной сети не работает программа:(
                очень жаль что МС сделала работу сетевых приложений зависимой от настроек ИЕ(не всех приложений конечно, но все же как плевок)
                  +1
                  Эммм… никто не мешает переопределить прокси в web|app.config. Никто не мешает отключить прокси там же.
                  Я в свою очередь ненавижу программы, которые используют свои настройки прокси, отличные от IE(не или хотя бы при установке не берут данные оттуда).
                    0
                    это не настройки IE, это общие настройки подключения
                    каждой проге указывать как ей ходить в интернет — тоже не дело
                      0
                      было бы хорошо если бы все программы использовали системные настройки которые в IE и в дополнение предлагали переопределить их. Когда-то давно из-за этого некоторый софт не работал в сетке через прокси, т.к. в программе вообще не было никаких настроек прокси и адекватно она работать не хотела, пока не отключишь прокси
                        0
                        Если быть наблюдательным, можно заметить, что эти настройки называются Свойства Интернета (Internet Options), а не Настройки IE, и по-моему, централизованное управление прокси — это очень удобно для приложений, в которых такая возможность не реализована )
                        0
                        ну зачем же отключать? У меня на работе прокси и у меня половина Web ориентированых программ просто не работают
                          0
                          А почему-бы не вырубить настройку автоопределения прокси в ресстре или в ИЕ?
                            0
                            В приниципе, тоже вариант и весьма неплохой. Однако лучше я отключу автоопределение прокси в вёбконфиге, чем заставлять администратора что-то отключать в реестре или в IE. Тем более что CMS'ки редко работают из под прокси.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое