Удаленный сервис возвратил ошибку

  • Remove From My Forums
  • Question

  • Прошу помочь мне с этой ошибкой, раньше программа запускалась нормально но через какое-то время начало выдавать такую ошибку.

    подробная информация об использовании оперативной 
    (JIT) отладки вместо данного диалогового 
    окна содержится в конце этого сообщения.

    ************** Текст исключения **************
    System.Net.WebException: Удаленный сервер возвратил ошибку: (404) Не найден.
       в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
       в System.Net.WebClient.DownloadString(Uri address)
       в System.Net.WebClient.DownloadString(String address)
       в WeAreDevs_API.ExploitAPI.IsUpdated()
       в WeAreDevs_API.ExploitAPI.LaunchExploit()
       в c.g(Object , EventArgs )
       в System.Windows.Forms.Control.OnClick(EventArgs e)
       в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       в System.Windows.Forms.Control.WndProc(Message& m)
       в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Загруженные сборки **************
    mscorlib
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3416.0 built by: NET472REL1LAST_B
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    —————————————-
    Pain Exist
        Версия сборки: 1.0.0.0
        Версия Win32: 1.0.0.0
        CodeBase: file:///C:/Users/%D0%96%D0%B5%D0%BD%D1%8F/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(3)/%5BFilter%5D%20Pain%20Exist%20v2.9/%5BFilter%5D%20Pain%20Exist%20v2.9/Pain%20Exist%20V2.9%20by%20Filter.exe
    —————————————-
    System.Windows.Forms
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3324.0 built by: NET472REL1LAST_C
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3416.0 built by: NET472REL1LAST_B
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    WeAreDevs_API
        Версия сборки: 1.0.0.0
        Версия Win32: 1.0.0.0
        CodeBase: file:///C:/Users/%D0%96%D0%B5%D0%BD%D1%8F/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(3)/%5BFilter%5D%20Pain%20Exist%20v2.9/%5BFilter%5D%20Pain%20Exist%20v2.9/WeAreDevs_API.DLL
    —————————————-
    System.Configuration
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    —————————————-
    System.Core
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3362.0 built by: NET472REL1LAST_C
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    —————————————-
    System.Xml
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    —————————————-
    FlatUI
        Версия сборки: 1.0.0.0
        Версия Win32: 1.0.0.0
        CodeBase: file:///C:/Users/%D0%96%D0%B5%D0%BD%D1%8F/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(3)/%5BFilter%5D%20Pain%20Exist%20v2.9/%5BFilter%5D%20Pain%20Exist%20v2.9/FlatUI.DLL
    —————————————-
    FastColoredTextBox
        Версия сборки: 2.16.23.0
        Версия Win32: 2.16.23.0
        CodeBase: file:///C:/Users/%D0%96%D0%B5%D0%BD%D1%8F/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(3)/%5BFilter%5D%20Pain%20Exist%20v2.9/%5BFilter%5D%20Pain%20Exist%20v2.9/FastColoredTextBox.DLL
    —————————————-
    System.resources
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.resources.dll
    —————————————-
    System.Windows.Forms.resources
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
    —————————————-
    mscorlib.resources
        Версия сборки: 4.0.0.0
        Версия Win32: 4.7.3056.0 built by: NET472REL1
        CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
    —————————————-

    ************** Оперативная отладка (JIT) **************
    Для подключения оперативной (JIT) отладки файл .config данного
    приложения или компьютера (machine.config) должен иметь
    значение jitDebugging, установленное в секции system.windows.forms.
    Приложение также должно быть скомпилировано с включенной
    отладкой.

    Например:

    <configuration>
        <system.windows.forms jitDebugging=»true» />
    </configuration>

    При включенной отладке JIT любое необрабатываемое исключение
    пересылается отладчику JIT, зарегистрированному на данном компьютере,
    вместо того чтобы обрабатываться данным диалоговым окном

В данной статье вы узнаете что означает 502 bad gateway, а также какими способами можно ее исправить, если конечно проблема доступа кроется на стороне пользователя.

Ошибка Bad Gateway может быть настроена каждым сайтом. Хотя это довольно необычно, разные веб-серверы описывают эту ошибку по-разному. Вот некоторые общие способы, которыми вы можете это увидеть.

Что означает ошибка 502 Bad Gateway? Как исправить ошибку 502 bad gateway? Что делать если появляется ошибка 502 Bad Gateway?

Ошибка 502 Bad Gateway отображается внутри окна интернет-браузера, точно так же, как веб-страницы.

Что означает ошибка 502 Bad Gateway? Как исправить ошибку 502 bad gateway? Что делать если появляется ошибка 502 Bad Gateway?

Известная ошибка «fail whale» в Twitter, которая говорит о том, что Twitter превышает пропускную способность, на самом деле является ошибкой 502 Bad Gateway (хотя ошибка 503 также имеет смысл).

Ошибка Bad Gateway, полученная в Центре обновления Windows, генерирует код ошибки 0x80244021 или сообщение WU_E_PT_HTTP_STATUS_BAD_GATEWAY.

Когда сервисы Google, такие как Google Search или Gmail, испытывают 502 Bad Gateway, на экране часто отображается ошибка сервера, а иногда и всего 502.

Ошибки Bad Gateway 502 полностью независимы от вашей конкретной настройки, что означает, что вы можете видеть их в любом браузере, в любой операционной системе и на любом устройстве.

Что означает ошибка 502 Bad Gateway

Часто ошибки Bad Gateway вызваны проблемами между серверами в Интернете, которые вы не можете контролировать. Тем не менее, иногда нет реальной проблемы, но ваш браузер считает, что это одна из проблем с вашим браузером, проблема с вашим домашним сетевым оборудованием или какая-либо другая причина в вашем контроле.

Примечание. Веб-серверы Microsoft IIS часто предоставляют дополнительную информацию о причине ошибки 502 Bad Gateway, добавив дополнительную цифру после 502, как в HTTP-ошибке 502.3. Веб-сервер получил недопустимый ответ, или неправильно настроен прокси-сервер, что означает: ошибка соединения отправителя (ARR). Здесь вы можете увидеть полный .

Подсказка: ошибка HTTP 502.1 – ошибка «Bad Gateway» относится к проблеме тайм-аута приложения CGI, и лучше устранить ее как проблему с тайм-аутом шлюза 504.

Как исправить ошибку 502 Bad Gateway

Ошибка 502 Bad Gateway часто является сетевой ошибкой между серверами в Интернете, то есть проблема не связана с вашим компьютером или подключением к Интернету.

Что означает ошибка 502 Bad Gateway? Как исправить ошибку 502 bad gateway? Что делать если появляется ошибка 502 Bad Gateway?

Однако, поскольку вполне возможно, что с вашей стороны что-то не так, попробуйте исправить некоторые ошибки:

Попробуйте снова загрузить URL-адрес, нажав F5 на клавиатуре или нажав кнопку обновления/перезагрузки.

Хотя ошибка 502 Bad Gateway обычно указывает на сетевую ошибку вне вашего контроля, она может быть крайне временной. Повторное обновление страницы часто бывает успешным.

Запустите новый сеанс браузера, закрыв все открытые окна браузера, а затем открыв новый, и попробуйте снова открыть веб-страницу.

Возможно, что полученная вами ошибка 502 произошла из-за проблемы на вашем компьютере, которая произошла когда-то во время использования вами вашего браузера. Это может решить простой перезапуск самой программы браузера.

Очистите кеш браузера

Устаревшие или поврежденные файлы, хранящиеся в вашем браузере, могут вызывать проблемы с 502 Bad Gateway.

Если удалить эти кэшированные файлы и повторить попытку, проблема будет решена, если это является причиной.

Удалите файлы cookie вашего браузера

По тем же причинам, которые указаны выше в кэшированных файлах, очистка хранимых файлов cookie может исправить ошибку 502.

Примечание. Если вы не хотите очищать все свои файлы cookie, сначала попробуйте удалить только те куки, которые связаны с сайтом, на котором вы получаете ошибку 502. Но лучше полностью удалить все хранящиеся cookie в вашем браузере.

Что означает ошибка 502 Bad Gateway? Как исправить ошибку 502 bad gateway? Что делать если появляется ошибка 502 Bad Gateway?

Запустите браузер в режиме инкогнито

Запуск браузера в режиме инкогнито означает запуск с настройками по умолчанию и без надстроек и расширений, включая панели инструментов. Запустить браузер в данном режиме, на примере Google Chrome можно сочетанием клавиш Ctrl+Shift+N

Если ошибка 502 больше не появляется при запуске браузера в режиме инкогнито, вы знаете, что причиной этого является расширение или настройка браузера. Верните настройки браузера по умолчанию или выборочно отключите расширения браузера, чтобы найти основную причину и устранить неполадку.

Попробуйте использовать другой браузер

Используйте другой браузер, помимо самых популярных, таких как, Firefox, Chrome, Internet Explorer и Safari.

Что означает ошибка 502 Bad Gateway? Как исправить ошибку 502 bad gateway? Что делать если появляется ошибка 502 Bad Gateway?

Если альтернативный браузер не создает ошибку 502 Bad Gateway, теперь вы знаете, что ваш исходный браузер является источником проблемы. Предполагая, что вы следовали вышеизложенному совету по устранению неполадок, пришло время переустановить браузер и посмотреть, не устранит ли это проблему.

Перезагрузите компьютер и сетевое оборудование

Некоторые временные проблемы на вашем компьютере и то, как он подключается к вашей сети, может вызвать 502 ошибки, особенно если вы видите ошибку на нескольких сайтах. В этих случаях перезагрузка помогла бы.

Проблемы с вашим модемом, маршрутизатором, коммутаторами или другими сетевыми устройствами могут вызывать 502 Bad Gateway или другие 502 ошибки. Простой перезапуск этих устройств может помочь.

Совет. Порядок отключения этих устройств не особенно важен, но обязательно отключите их с внешней стороны.

Измените свои DNS-серверы либо на маршрутизаторе, либо на вашем компьютере или устройстве. Некоторые ошибки Bad Gateway вызваны временными проблемами с DNS-серверами.

Примечание. Если вы ранее не изменили их, DNS-серверы, которые вы настроили прямо сейчас, вероятно, будут автоматически назначены вашим провайдером.
Обращение непосредственно к веб-сайту может также быть хорошей идеей. Скорее всего, администраторы сайта уже работают над устранением причины ошибки 502 Bad Gateway, но не стесняйтесь сообщить об этом.

На большинстве веб-сайтов есть учетные записи социальных сетей, которые они используют для поддержки своих посетителей. У некоторых даже есть телефон и контакты по электронной почте.

Совет. Если вы подозреваете, что веб-сайт недоступен для всех, особенно если он популярный, проверьте это в Twitter. Лучший способ сделать это, искать в поиске хештеги, на примере популярной социальной сети #вкошибка #вкнеработает и т.д.

Обратитесь к своему Интернет-провайдеру

Если ваш браузер, компьютер и сеть работают, и веб-сайт сообщает, что страница или сайт работает, проблема 502 Bad Gateway может быть вызвана сетевой проблемой, за которую отвечает ваш интернет-провайдер.

На данном этапе устранения неполадок сообщение об ошибке 502 Bad Gateway почти наверняка является проблемой как для вашего интернет-провайдера, так и для сети веб-сайта.

В любом случае, вы не единственный, кто видит ошибку 502, поэтому вам придется подождать, пока проблема не будет решена.

leephone.ru

Активные пользователи интернета нередко встречаются с разного рода ошибками, связанными с работой сервера, DNS, хостинга и так далее. Сегодня мы поговорим о 502 Bad Gateway, что это значит и как с ней бороться. Обычно оповещение об этой проблеме возникает при повторном обращении к одному и тому же ресурсу и ограничивает просмотр сайта.

502 Bad Gateway, что это значитошибка 502 bad gateway что значит

Дословный перевод ошибки с английского языка означает «Плохой шлюз». Таким образом, получается, что данная проблема связана с работой сервера и никак не зависит от действий пользователя.

Как правило, такую ошибку отдают ресурсы в ответ на обращение в случае, если имеются проблемы с работой прокси, DNS или хостинг-сервера. Собственно, все ошибки серии 5ХХ означают, что трудности возникли на стороне сервера. Причём чаще всего надпись на белом экране появляется именно при повторном обращении к определённому ресурсу.

Процесс, вследствие которого пользователь получает подобное оповещение следующий. Браузер отправляет на сервер запрос, как правило, по ссылке, ранее открывавшейся в обозревателе. В ответ ему приходит ошибка сервера, и как результат сообщение пользователю 502 Bad Gateway.

Причины возникновения

502 Bad Gateway

Ошибка 502 Bad Gateway, что это значит стало понятно. Разберёмся какие могут быть причины для её возникновения. Несмотря на то что такая информация больше будет полезна владельцам серверов и сайтов мы углубимся в подробности.

Первой причиной появления такой ошибки становится низкая мощность сервера, к которому обращается запрос. Например, если он рассчитан на обработку 5 тысяч запросов в секунду, а ему отправляют от 7 до 10 тысяч обращений, сервер очень скоро отправить пользователям ошибку 502. Для решения проблемы в данном случае необходимо наращивать мощности сервера, это добавление памяти, которой недостаточно в текущем объёме и расширение канала. Особенно свойственно появление такой проблемы для серверов, организованных на базе домашних ПК, подобную нагрузку обычный компьютер не в состоянии выдержать, поэтому при малейшем её увеличении сервер падает.

Ещё один вариант развития событий, следствием которой становится ошибка 502 Bad Gateway — DDoS-атака на конкретный сервер сайта. Это та же разновидность перегруженности, но спровоцированная искусственным путём. Как правило, такие атаки специально заказываются конкурентами. На сервер с помощью ботов отправляется огромное количество запросов, которые он не способен обработать. Вследствие чего сервер падает, а посетитель ресурса задается вопросом, 502 Bad Gateway что это значит.

Как бороться

Как уже упоминалось выше, ошибка вызвана проблемами со стороны сервера. От пользователя мало что зависит, в связи с этим чаще всего единственным вариантом решения проблемы становится ожидание. Техническая поддержка ресурса решить проблему и доступ на сайт возобновится.

Что может предпринять пользователь502 bad gateway nginx что это значит как исправить

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

  1. Чтобы убедиться, что именно сервер запрошенного ресурса не отвечает, попробуйте обратиться к другому ресурсу. Просто откройте в браузере ссылку на другой сайт, который гарантированно работает. Если доступ на страницу свободно предоставляется, значит, ждите починки нужного ресурса. Этот метод особенно актуален для пользователей корпоративных сетей, в которых доступ к интернету осуществляется через локальную сеть. И часто система не имеет возможности диагностировать ошибку за пределами выделенных ей прав.
  2. В случае если первый тест показал, что с доступом в сеть у пользователя все в порядке можно предпринять ещё одну меру. Опытные пользователи советуют почистить cookies. При желании пользователь может сделать это для конкретного сайта или удалить все данные.

Для тех, кто не знает, как очистить куки-файлы в своем браузере предлагаем краткую инструкцию.

  • Если вы пользуетесь браузером «Интернет Эксплорер», то нажмите значок шестерёнки в верхнем правом углу страницы и в разделе безопасность выберите пункт «Удалить журнал браузера». Откроется диалоговое окно, в котором пользователю предложат выбрать что именно он хочет удалить. Отметьте нужные пункты и нажмите «Удалить».
  • Для тех, кто предпочитает Яндекс-браузер инструкция, следующая. Нажмите на сэндвич из трёх горизонтальных линий, расположенный сразу после перечня открытых вкладок. Выберите дважды пункт «История». Тут можно отметить и удалить данные выборочно. Для полной очистки выберите в основном меню раздел «Дополнительно» и нажмите «Очистить историю».
  • Пользователи Google Chrome должны выбрать в главном меню раздел «История». Затем на открывшейся странице развернуть боковую панель и выбрать команду «Очистить историю».

Для всех остальных браузеров план действий будет примерно аналогичным. В настройках нужно найти раздел истории и очистить её вместе с куки-файлами, полученными от посещённых ресурсов.

Рекомендации для владельцев ресурса

Если ваш сайт часто выдаёт в ответ на запрос ошибку 502 Bad Gateway, то вот некоторые рекомендации, которые помогут справиться с проблемой.

502 bad gateway nginx/1.10.1 что это значит

  • Проанализируйте нагрузку, которая выдерживается сервером в штатном режиме и показатели при падении. Если нагрузка на оперативную память наблюдается, то необходимо ее добавить. Так как это один из важных узлов, обеспечивающих своевременную обработку информации.
  • Если ошибка выскакивает слишком часто, то проверьте корректность установки лимитов на количество php-cgi процессов. Именно ошибочная конфигурация в этом моменте способствует выводу сервера из строя.
  • Попробуйте сократить количество запросов к внешним ресурсам. Также может помочь установка ограничения на временной интервал ожидания ответа и загрузки.
  • Если для сайта используется виртуальный сервер, то при частых повторениях ситуации лучше сменить провайдера.

Вот мы немного разобрались в вопросе, 502 Bad Gateway что это значит, а также выяснили как поступать каждому участнику процесса, чтобы исправить ситуацию. Конечно, чаще всего пользователю остаётся только ждать. А вот владельцу ресурса нужно либо усиливать мощность сервера, либо менять поставщика хостинг-услуг.

Как часто вам приходится сталкиваться с такой ошибкой? Какие действия помогают исправить ситуацию? Интересует мнение как пользователей сети, так и владельцев сайтов. Поделитесь с нами своими наблюдениями.

strana-it.ru

Что вызывает 502 ошибку сервера

Ошибка 502 говорит о том, что обратный прокси-сервер (допустим, Apache) для сервера источника (например, nginx) получает некорректный ответ от исходного веб-сервера.

Посмотрев внимательнее, мы обнаружили, что Apache работает в нем как прокси nginx. Веб-сервер перезагружал http-сервис почти каждый час. Наш опыт в устранении подобных ошибок показывает, что ошибка 502 Bad Gateway появляется по одной из следующих причин:

  1. Перегруженность сервера. Веб-сервер может падать из-за нехватки ресурсов (например, оперативной памяти), вызываемой избытком выполняемых процессов или агрессивными действиями пользователей;
  2. Частая перезагрузка веб-сервера. Такое случается при ошибках конфигурации, сбоях в модулях, любых атаках, избытке выполняемых процессов и приложений. В результате пользователь видит временную 502 ошибку;
  3. Плохой код сайта. Сайты с устаревшими приложениями или корявым кодом влияют на правильное функционирование сервера и ведут к периодическому возникновению 502 ошибки;
  4. Ошибки сети. Прочие ошибки конфигурации сети (проблемы с DNS, маршрутизация, блокировка файерволом, используемым на сервере, проблемы у провайдера) также становятся причиной появления 502 ошибки сервера;
  5. Время ожидания серверного программного обеспечения. 502 ошибка неизбежна при снижении скорости выполнения запросов в nginx, когда средство кэширования (например, Varnish Cache) уходит в таймаут. Сюда же относятся и медленные запросы.

Как исправить 502 серверную ошибку в nginx

Сначала необходимо определить первопричину возникновения данной ошибки. Мы изучили серверные логи во время перезагрузок, и нашли там ошибки seg fault.

Затем мы покопались в конфигурации сервера, и увидели, что там отсутствовал модуль mod_rpaf. Именно это и вызывало падение сервера:

Rpaf – это модуль Reverse proxy add forward, разработанный для серверов Apache. Он нужен в том случае, если вы задаете Nginx фронденд-сервером и хотите получить реальный IP серверных запросов.

Данный модуль не работал под Apache-2.4, поэтому мы немного его подправили. После перекомпиляции и перезагрузки Apache ошибки сегментации прекратились.

Мы последили за сервером еще пару часов и убедились в том, что перезагрузки прекратились, а серверные ошибки исчезли.

Вот несколько советов, как исправить ошибку 502 bad gateway:

  • Следите за тем, чтобы файлы сайта (плагины и темы) своевременно обновлялись и не устаревали;
  • Оптимизируйте и исправляйте медленные MySQL-запросы;
  • Проводите аудит серверного программного обеспечения и вовремя обновляйте модули;
  • Избегайте проблем с маршрутизацией и отслеживайте любые перегрузки/атаки на сервер.

Перевод статьи «HOW TO FIX «502 SERVER ERROR – BAD GATEWAY» IN WEB SERVERS» был подготовлен дружной командой проекта Сайтостроение от А до Я.

У меня есть следующий фрагмент в классическом ASP, чтобы отправить команду и получить ответ по SSL:

Затем я использовал этот код в качестве ссылки для повторной реализации запроса в С#:

Проблема в том, что при вызове GetRequestStream я получаю WebException с сообщением "The remote server returned an error: (502) Bad Gateway."

Сначала я подумал, что это связано с проверкой сертификата SSL. Поэтому я добавил эту строку:

И я продолжаю получать ту же самую ошибку 502. Любые идеи?

Ошибка 502 Bad Gateway или как я уже выше говорил — недопустимый шлюз ознаменована тем, что ваш запрос посланный на сервер пришел туда, но по разного рода причинам не смог быть обработан там. Запрос попавший на сервер, где расположен сайт по которому Вы юзаете и выдающий ошибку 502, может быть расположен за шлюзом и может быть ошибка кроется в том, что у сервера не хватает мощности обработать все поступившие к нему запросы, которые выстроились в очередь. Вот он и глючит, выдавая ошибку 502, которая в свою очередь отправляется вам в браузер вместо вашего запроса.

И так, давайте теперь в порядке очереди рассмотрим все причины, которые могут привести к возникновению появления такого неприятного момента, как ошибка 502.

Самой важной причиной появления ошибки 502 Bad Gateway и на мой взгляд основной, является недостаточная мощность ресурсов на сервере, где располагается сайт, который выдает ошибку 502. Из-за нехватки ресурсов, сервер начинает тормозить, много думать и в конце концов выдает 502 ошибку.

Ресурсы сервера — это оперативная память, которая бывает, что не очень рационально используется на хостинге или ее очень мало для тех операций, которые происходят и сервер их просто не в силах обработать. Чтобы выявить эту проблему, необходимо узнать нагрузку на потребляемые ресурсы у диспетчера сервера и затем уже определить все затрачиваемые ресурсы. При выяснении этих проблем, Вы сможете узнать вышли ли Вы за рамки выделенного вам тарифного плана на своем хостинге или нет. Если вышли, то и ошибка 502 именно из-за этого и возникает.

Значит вам нужно изменить свой тарифный план на хостинге, посоветовавшись с вашим хостером через поддержку, а если выяснится, что это максимум, что хостер может вам предложить, то бегите от него быстрее на другой, более мощный хостинг, например МакХост. Этот хостинг уже испытан временем и множеством веб-мастеров, которые очень им довольны, включая и меня. Не очень скромно, но это именно так!

Это еще не все причины по которым может возникать ошибка 502 Bad Gateway — недопустимый шлюз. Сейчас мы с вами еще рассмотрим возможные причины ее появления.

Кроме основной причины, описанной мной выше, есть еще типичные причины возникновения данной ошибки …

Давайте выясним типичные причины нехватки ресурсов на сервере, которые приводят к тому, что появляется ошибка 502:

Finam 16:52:56.3650000 Старт с 26.01.2011 для RIU1@RTS.
Finam 16:52:59.1140000 Старт с 27.01.2011 для RIZ1@RTS.
Finam 16:52:59.6120000 Старт с 27.01.2011 для RIH1@RTS.
Finam 16:54:23.0580000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 16:54:59.1340000 Старт с 28.01.2011 для RIZ1@RTS.
Finam 16:54:59.4930000 Старт с 27.01.2011 для RIH1@RTS.
Finam 16:56:22.2140000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 16:56:59.1540000 Старт с 29.01.2011 для RIZ1@RTS.
Finam 16:56:59.4670000 Старт с 27.01.2011 для RIH1@RTS.
Finam 16:58:23.0100000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 16:58:59.1740000 Старт с 30.01.2011 для RIZ1@RTS.
Finam 16:58:59.5210000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:00:22.8470000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:00:59.1940000 Старт с 31.01.2011 для RIZ1@RTS.
Finam 17:00:59.5340000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:02:21.8990000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:02:59.2140000 Старт с 01.02.2011 для RIZ1@RTS.
Finam 17:02:59.5850000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:04:21.9340000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:04:59.2360000 Старт с 02.02.2011 для RIZ1@RTS.
Finam 17:04:59.5370000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:06:21.9130000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:06:59.2560000 Старт с 03.02.2011 для RIZ1@RTS.
Finam 17:06:59.5920000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:08:21.7270000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:08:59.2760000 Старт с 04.02.2011 для RIZ1@RTS.
Finam 17:08:59.6490000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:10:22.0840000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:10:59.2970000 Старт с 05.02.2011 для RIZ1@RTS.
Finam 17:10:59.6370000 Старт с 27.01.2011 для RIH1@RTS.
Finam 17:12:21.9650000 System.Net.WebException: Удаленный сервер возвратил ошибку: (502) Недопустимый шлюз.
в System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
в System.Net.WebClient.DownloadString(Uri address)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=q9gg83Pc4sDbdPCRGT9m40g==(Uri #=qDju1EUaixtc5cGHpz3sH_Q==, String #=qzA0aaNvM9wS_Wy4vos1Y2g==)
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qK9qV8MYxkX5_XNFh2FBZjEt4AmQKAh3Ng0PE74uoyLQ=.#=qbTEHPlq_OttWVeXod8zzjLNMV_ZVCNsDe2XvirVzP4E=()
в StockSharp.Algo.History.Finam.FinamHistorySource.#=qHjBwVIzugJpRLXKchln5Nw==[T](String #=qZBO6iTXsXW0fLFEOfkYRDQ==, Func`1 #=qLVCqCWlkOQwpBKQB0NxVFw==, Func`2 #=qWskpi2x$V_l0Y_9nuTPGzg==)
в StockSharp.Algo.History.Finam.FinamHistorySource.GetTrades(Security security, DateTime time)
в StockSharp.Hydra.Finam.FinamSource.Load() в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraPluginsFinamFinamSource.cs:строка 151
в StockSharp.Hydra.Worker.<>c__DisplayClass13.<Download>b__10(IMarketDataSource source) в f:SourcesStockSharpReleasesStockSharp_4.0.15HydraHydraWorker.cs:строка 187
Finam 17:12:22.1920000 Останавливается.
Finam 17:12:22.2020000 Остановлен.

В то время, когда вы просматриваете какие-либо сайты или страницы в Интернете, при обращении к различным узлам на экране вашего монитора может появиться сообщение «ошибка 502». При этом вы не можете открыть страницы сайтов, и у вас нет возможности просмотреть и изучить ресурсы этого веб-узла. Как правило, такая ошибка возникает по причине того, что выявляются проблемы в работе серверов, в основном это DNS, прокси или хостинг-сервер, на котором в данный момент находится недоступный сайт.

Выражение «ошибка 502 bad gateway» можно перевести как «неверный шлюз». Это будет означать, что браузер (обозреватель Интернета) на вашем компьютере при запросе какой-либо информации с веб-узла получил неприемлемый ответ от другого сервера (DNS или прокси-сервера). Об этом и сообщается пользователю при выводе на экране сообщения «502 ошибка».

Большинство интернет-пользователей неоднократно сталкивались с такой ошибкой, однако для некоторых это может быть впервые. Что же делать, когда сообщение «ошибка 502» появилось на экране вашего компьютера? В первую очередь необходимо проверить, есть ли вообще доступ к Интернету. Для этого следует набрать в браузере адрес другого сайта, который гарантированно должен работать в данный момент, поскольку, например, корпоративный доступ к Интернету осуществляется посредством прокси-сервера, а не сразу же через модем, подключенный на вашем компьютере или встроенный в него. Если в последнем случае ошибка более детально распознается, то при доступе в Интернет посредством локальной сети система не имеет возможности проверить ошибку. В связи с этим пользователю не остается ничего другого, как выяснять причины ее появления косвенными методами.

Если же доступ к Интернету имеется, однако при повторной попытке запроса страницы с необходимого сайта все равно выскакивает сообщение «ошибка 502», то в этом случае вам следует попытаться удалить cookies для данного сайта или все имеющиеся в вашем браузере.

При обычной, нормальной работе такая ошибка появляется очень редко, лишь в случаях перезагрузки веб-серверов. Если же она отмечается на протяжении более чем тридцати секунд, то следует попробовать очистить кэш браузера, cookies, и перезапустить сам браузер

Если после проведенных действий по очистке cookies все равно на экране появляется сообщение «ошибка 502», то это свидетельствует о том, что с вашим компьютером и сетью все в порядке, и, скорее всего, просто возникли неполадки с сервером. В этом случае вам следует немного подождать, пока администраторы не решат эти проблемы, и затем попробовать еще раз.

Shiryaev

0 / 0 / 0

Регистрация: 25.11.2014

Сообщений: 11

1

02.09.2020, 17:11. Показов 5743. Ответов 8

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Добрый день, друзья. Пытаюсь написать небольшое приложение, чтобы сохранить некоторые фотографии с сайта https://pastvu.com/. Уже в начале потерпел неудачу в виде ошибки от сервера: 400 — Недопустимый запрос. Планируется небольшое автоматическое редактирование фотографий, поэтому и использую Win.Forms.

C#
1
2
3
4
5
6
7
string Https = "https://www.pastvu.com/ps/1?f=r!1331";
string Page = "";
WebClient Client = new WebClient();
 
Page = Client.DownloadString(Https);
 
Console.WriteLine(Page);

Я так думаю, ошибка имеет фундаментальный характер, так-как всего пять строчек кода написано. Но я упорно не могу найти решение в гугле. Может быть конкретно в этом случае C# и WebClient неподходящие технологии или что-то ещё использовать нужно? Пожалуйста, кто знает, подскажите в каком направлении искать решение



0



798 / 581 / 207

Регистрация: 21.02.2019

Сообщений: 2,095

02.09.2020, 17:41

2

.. если недопустимый запрос, то, возможно, сервер ждет определенных заголовков в запросе (таких, как в запросе из браузера) … вот тут посмотрите, как добавить заголовки к запросу:
WebClient.Headers Property



1



0 / 0 / 0

Регистрация: 25.11.2014

Сообщений: 11

02.09.2020, 18:36

 [ТС]

3

carrotik, Статью посмотрел, попробовал разные заголовки подобавлять — толку нет. Попробовал «надурочка» атрибут http-equiv HTML тега<meta> в коде страницы посмотреть и добавить из него содержимое — тоже не вышло. Есть ли способ узнать какие заголовки сервер хочет?



0



3090 / 2232 / 641

Регистрация: 02.08.2011

Сообщений: 6,124

02.09.2020, 18:55

4

Цитата
Сообщение от Shiryaev
Посмотреть сообщение

толку нет

И User-Agent тоже не помогает?



1



3090 / 2232 / 641

Регистрация: 02.08.2011

Сообщений: 6,124

02.09.2020, 18:57

5

Вот что Chrome отправляет:

Миниатюры

WebClient Удаленный сервер возвратил ошибку: (400) Недопустимый запрос
 



1



3090 / 2232 / 641

Регистрация: 02.08.2011

Сообщений: 6,124

02.09.2020, 18:58

6

Можете поиграться.



1



Shiryaev

0 / 0 / 0

Регистрация: 25.11.2014

Сообщений: 11

02.09.2020, 20:22

 [ТС]

7

IamRain, carrotik, Собственно заголовок User-Agent помог. По сути добавил строку

C#
1
Client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36");

Прямо со скриншота переписал данные. Текст страницы получил, покопался в нём и взгрустнул. Судя по всему, основной контент страницы генерируется javascript`ом и очевидным для меня методом фотографии не скачать, ибо ссылок нет. Может быть можно как-то яваскрипт выполнить, но это явно не в этой теме обсуждать надо. Буду думать, может и ручками всё сохраню.
Спасибо, всем за помощь. Теперь я знаю больше



0



484 / 439 / 123

Регистрация: 05.01.2010

Сообщений: 1,848

02.09.2020, 20:51

8

Shiryaev, на странице с конкретной фотографией в meta есть строки вида
<link rel="image_src" href="https://pastvu.com/_p/a/1/z/q/1zqpjvce6k548d5f9v.jpg">
<meta property="og:image" content="https://pastvu.com/_p/a/1/z/q/1zqpjvce6k548d5f9v.jpg">

по ним можно уже непосредственно скачать картинку



1



0 / 0 / 0

Регистрация: 25.11.2014

Сообщений: 11

02.09.2020, 22:08

 [ТС]

9

valera_21, Да, это так. Но я хотел сохранить все фотографии конкретных городов, а для этого нужно именно с той злополучной страницы работу начинать. Можно было бы по другому пойти, допустим тупо по всем ссылкам пройтись (например, начать условно с https://pastvu.com/p/0, а закончить https://pastvu.com/p/9999999) и в описании фотографий искать нужный город, но описание так же с помощью скрипта генерируется, как я понял. Улица и название фотографии в тегах есть, а города не вижу

Добавлено через 8 минут
valera_21, А нет, нашел название города в тегах. Завтра попробую тупо весь сайт прошерстить!



0



Прежде всего, нужно знать точный URL-адрес вашей службы REST. Поскольку вы указали http://localhost:2517/Service1/Create, просто попробуйте открыть тот же URL-адрес из IE, и вы должны получить метод, который не разрешен, так как ваш метод Create определен для WebInvoke, а IE выполняет WebGet.

Теперь убедитесь, что у вас есть SampleItem в вашем клиентском приложении, определенном в том же пространстве имен на вашем сервере, или убедитесь, что строка xml, которую вы строите, имеет соответствующее пространство имен для службы, чтобы идентифицировать, что строка xml образца объекта может десериализоваться обратно на объект на сервере.

У меня есть SampleItem, определенный на моем сервере, как показано ниже:

namespace SampleApp
{
    public class SampleItem
    {
        public int Id { get; set; }
        public string StringValue { get; set; }            
    }    
}

Строка xml, соответствующая моему SampleItem, выглядит следующим образом:

<SampleItem xmlns="http://schemas.datacontract.org/2004/07/SampleApp" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Id>6</Id><StringValue>from client testing</StringValue></SampleItem>

Теперь я использую метод ниже, чтобы выполнить POST для службы REST:

private string UseHttpWebApproach<T>(string serviceUrl, string resourceUrl, string method, T requestBody)
        {
            string responseMessage = null;
            var request = WebRequest.Create(string.Concat(serviceUrl, resourceUrl)) as HttpWebRequest;
            if (request != null)
            {
                request.ContentType = "application/xml";
                request.Method = method;
            }

            //var objContent = HttpContentExtensions.CreateDataContract(requestBody);
            if(method == "POST" && requestBody != null)
            {
                byte[] requestBodyBytes = ToByteArrayUsingDataContractSer(requestBody);
                request.ContentLength = requestBodyBytes.Length;
                using (Stream postStream = request.GetRequestStream())
                    postStream.Write(requestBodyBytes, 0, requestBodyBytes.Length);                    
            }

            if (request != null)
            {
                var response = request.GetResponse() as HttpWebResponse;
                if(response.StatusCode == HttpStatusCode.OK)
                {
                    Stream responseStream = response.GetResponseStream();
                    if (responseStream != null)
                    {
                        var reader = new StreamReader(responseStream);

                        responseMessage = reader.ReadToEnd();                        
                    }
                }
                else
                {
                    responseMessage = response.StatusDescription;
                }
            }
            return responseMessage;
        }

private static byte[] ToByteArrayUsingDataContractSer<T>(T requestBody)
        {
            byte[] bytes = null;
            var serializer1 = new DataContractSerializer(typeof(T));            
            var ms1 = new MemoryStream();            
            serializer1.WriteObject(ms1, requestBody);
            ms1.Position = 0;
            var reader = new StreamReader(ms1);
            bytes = ms1.ToArray();
            return bytes;
        }

Теперь я вызываю вышеуказанный метод, как показано:

SampleItem objSample = new SampleItem();
objSample.Id = 7;
objSample.StringValue = "from client testing";
string serviceBaseUrl = "http://localhost:2517/Service1";
string resourceUrl = "/Create";
string method="POST";

UseHttpWebApproach<SampleItem>(serviceBaseUrl, resourceUrl, method, objSample);

У меня есть объект SampleItem, определенный на стороне клиента. Если вы хотите построить строку xml на клиенте и пройти, вы можете использовать метод ниже:

private string UseHttpWebApproach(string serviceUrl, string resourceUrl, string method, string xmlRequestBody)
            {
                string responseMessage = null;
                var request = WebRequest.Create(string.Concat(serviceUrl, resourceUrl)) as HttpWebRequest;
                if (request != null)
                {
                    request.ContentType = "application/xml";
                    request.Method = method;
                }

                //var objContent = HttpContentExtensions.CreateDataContract(requestBody);
                if(method == "POST" && requestBody != null)
                {
                    byte[] requestBodyBytes = ASCIIEncoding.UTF8.GetBytes(xmlRequestBody.ToString());
                    request.ContentLength = requestBodyBytes.Length;
                    using (Stream postStream = request.GetRequestStream())
                        postStream.Write(requestBodyBytes, 0, requestBodyBytes.Length);                    
                }

                if (request != null)
                {
                    var response = request.GetResponse() as HttpWebResponse;
                    if(response.StatusCode == HttpStatusCode.OK)
                    {
                        Stream responseStream = response.GetResponseStream();
                        if (responseStream != null)
                        {
                            var reader = new StreamReader(responseStream);

                            responseMessage = reader.ReadToEnd();                        
                        }
                    }
                    else
                    {
                        responseMessage = response.StatusDescription;
                    }
                }
                return responseMessage;
            }

И вызов вышеуказанного метода будет таким, как показано ниже:

string sample = "<SampleItem xmlns="http://schemas.datacontract.org/2004/07/XmlRestService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Id>6</Id><StringValue>from client testing</StringValue></SampleItem>";   
string serviceBaseUrl = "http://localhost:2517/Service1";
string resourceUrl = "/Create";
string method="POST";             
UseHttpWebApproach<string>(serviceBaseUrl, resourceUrl, method, sample);

ПРИМЕЧАНИЕ. Просто убедитесь, что ваш URL правильный

Иногда веб-серверы фильтруют клиентов (браузеры, программные веб-клиенты, etc) по HTTP-заголовку User-Agent. И в зависимости от значения этого заголовка веб-сервер может принят решение о вполне определенном ответе клиенту.

В конкретно этом случае веб-сервер (h92761ae.beget.tech) «не любит» обращения от «не реальных» браузеров, например:

curl http://h92761ae.beget.tech/json_devices.php

вернет код 403 Forbidden. Так как User-Agent в этом случае был curl/7.29.0

Поэтому нам можно попробовать притвориться реальным браузером с User-Agent-ом, например, Mozilla/5.0. И это решит данную проблему.

WebClient _webClient = new WebClient { Encoding = Encoding.UTF8 };
_webClient.Headers["User-Agent"] = "Mozilla/5.0";
var devices = _webClient.DownloadString("http://h92761ae.beget.tech/json_devices.php");
Console.WriteLine(devices);

Естественно, такой подход не решит проблемы, если вам будет запрещено ходить на этот сервер, например, по ip-адресу. Но это уже не вопрос данной темы.

Понравилась статья? Поделить с друзьями:
  • Удаленный сервер возвратил ошибку 401 несанкционированный
  • Удаленный сервер не отвечает вовремя ошибка 638
  • Удаленный сервер возвратил ошибку 400 недопустимый запрос
  • Удаленный сервер возвратил ошибку 522
  • Удаленный рабочий стол произошла ошибка при проверке подлинности