Устранение неполадок с веб-соединителем

Какова разница между Web.Contents, Web.BrowserContents и Web.Page?

Web.Contents

  • Web.Contents используется для получения веб-содержимого, к которому не требуется обращаться через браузер, например CSV-файлы, результаты API JSON и т. д.
  • Он поддерживает самые разнообразные варианты проверки подлинности.
  • Его можно использовать в облачных средах, таких как Power Query Online, без шлюза.

Web.Page

  • Web.Page — это устаревшая функция для получения веб-содержимого, доступ к которому требуется получить через браузер, например HTML-страницы.
  • Он основан на Internet Explorer. В связи с этим требованием элемент заменяется в пользовательском интерфейсе на Web.BrowserContents. Тем не менее, Web.Page по-прежнему доступен на уровне обработчика для обратной совместимости.
  • Для использования в облачных средах, таких как Power Query Online, требуется шлюз.

Web.BrowserContents

  • Web.BrowserContents — это обновленная функция для получения веб-содержимого, доступ к которому требуется получить через браузер, например HTML-страницы.
  • В пользовательском интерфейсе Web.BrowserContents заменяет Web.Page, потому что Web.Page основан на Internet Explorer.
  • Web.BrowserContents изначально был построен на Chromium, но теперь он использует элемент управления WebView2 Microsoft Edge.
  • Для использования в облачных средах, таких как Power Query Online, требуется шлюз.

В следующей таблице перечислены различия.

Web.Contents Web.Page Web.BrowserContents
Содержимое, отличное от браузера (.txt/.csv файлы, JSON и т. д.) x
Содержимое браузера (HTML) x x
Поддерживаемые типы проверки подлинности Анонимный
Виндоус
Базовый
Веб-API
Учетная запись организации
Анонимный
Windows (только учетные данные текущего пользователя)
Веб-API
Анонимный
Виндоус
Базовый
Веб-API
Требуется шлюз в облачных узлах N У У
В настоящее время генерируется с помощью Все узлы Excel и Power Query Online настольная версия Power BI
Основан на .NET Internet Explorer Элемент управления WebView2 Microsoft Edge

Замечание

Запросы POST можно выполнять только анонимно при использовании Web.Contents.

Предупреждения "Этот браузер больше не поддерживается" в веб-представлении

При импорте веб-страницы можно просмотреть предварительный просмотр страницы с помощью вкладки "Веб-представление " в диалоговом окне навигатора Power Query. Эта предварительная версия иногда может отображать предупреждение, например "Этот браузер больше не поддерживается". Когда это предупреждение возникает, обычно это связано с тем, что веб-представление в настоящее время отображает предварительную версию веб-представления с помощью Internet Explorer, который больше не поддерживается некоторыми веб-сайтами. Однако это предупреждение влияет только на веб-представление и не влияет на сам веб-соединитель. Если вы используете соединители на основе web.Contents или Web.BrowserContents (и не Web.Page), вы можете безопасно игнорировать такие предупреждения. Дополнительные сведения о разных веб-соединителях и их базовых технологиях см. в статье "Что такое разница между Web.Contents, Web.BrowserContents и Web.Page?".

Обработка динамических веб-страниц

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

  1. Вы обновляете запрос, который подключается к веб-сайту.
  2. Отображается сообщение об ошибке (например, "столбец Foo" таблицы не найден).
  3. Повторно обновите запрос.
  4. Ошибка не возникает.

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

Решение состоит в том, чтобы использовать WaitFor параметр Web.BrowserContents, который указывает либо селектор, либо время ожидания перед загрузкой HTML.

Как определить, является ли страница динамической? Обычно это довольно просто. Откройте страницу в браузере и просмотрите ее загрузку. Если содержимое отображается сразу же, это обычная HTML-страница. Если он отображается динамически или изменяется с течением времени, это динамическая страница.

Использование шлюза с веб-соединителем

Как Web.BrowserContents, так и Web.Page требуют использования локального шлюза данных при публикации в облачной службе, например семантических моделей Или потоков данных Power BI или потоков данных Power Apps. (В настоящее время Dynamics 365 Customer Insights не поддерживает использование шлюза.)

Если вы используете Web.Page и получаете ошибку Please specify how to connect , убедитесь, что на компьютере, на котором размещен локальный шлюз данных, установлен Internet Explorer 10 или более поздней версии.

Если вы используете Web.BrowserContents и получаете ошибку We were unable to find the WebView2 runtime , убедитесь, что на компьютере, на котором размещен локальный шлюз данных, установлен среда выполнения WebView2. Сообщение об ошибке должно предоставить ссылку на установщик среды выполнения WebView2. Если вы установили среду выполнения, но по-прежнему видите ошибку, убедитесь, что учетная запись службы шлюза (обычно PBIEgwService) имеет доступ к расположению установки среды выполнения WebView2 (например, C:\Program Files (x86)\Microsoft\EdgeWebView).

Ошибка "При инициализации веб-браузера" возникла при использовании Web.BrowserContents.

Эта ошибка может возникать, если процесс вызова Web.BrowserContents выполняется в режиме с повышенными привилегиями, так как WebView2 в настоящее время не поддерживает выполнение с правами администратора.

Использование Web.Page вместо Web.BrowserContents

В случаях, когда вам нужно использовать Web.Page вместо Web.BrowserContentsэтого, вы по-прежнему можете использовать Web.Pageвручную.

В Power BI Desktop можно использовать старую функцию Web.Page, очистив опцию Включить интерпретацию веб-таблицы.

  1. На вкладке "Файл" выберите "Параметры и настройки">"Параметры".

  2. В разделе "Глобальный " выберите редактор Power Query.

  3. Снимите флажок "Включить вывод веб-таблицы " и нажмите кнопку "ОК".

  4. Перезапустите Power BI Desktop.

    Замечание

    В настоящее время вы не можете отключить использование Web.BrowserContents в Power BI Desktop, оптимизированном для сервера отчетов Power BI.

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

  1. Выберите "Из Интернета" на вкладке "Данные ".
  2. Введите адрес в диалоговом окне "Из Интернета " и нажмите кнопку "ОК".
  3. В навигаторе выберите данные, которые нужно загрузить, а затем выберите "Преобразовать данные".
  4. На вкладке "Главная" Power Query выберите расширенный редактор.
  5. Скопируйте формулу M в расширенном редакторе.
  6. В приложении, использующем Web.BrowserContents, выберите коннектор пустого запроса.
  7. Если вы копируете в Power BI Desktop:
    1. На вкладке "Главная" выберите "Расширенный редактор".
    2. Вставьте скопированный Web.Page запрос в редактор, а затем нажмите кнопку "Готово".
  8. При копировании в Power Query Online:
    1. В поле "Пустой запрос" вставьте скопированный Web.Page запрос в пустой запрос.
    2. Выберите локальный шлюз данных для использования.
    3. Нажмите кнопку Далее.

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

let
  Source = Web.Page(Web.Contents("<your address here>")),
  Navigation = Source{0}[Data]
in
  Navigation

Перехват веб-запросов и аннулирование сертификатов

Мы укрепили безопасность веб-подключений для защиты ваших данных. Однако это обновление означает, что некоторые сценарии, такие как запись веб-запросов с помощью Fiddler, больше не работают по умолчанию. Чтобы включить эти сценарии, выполните следующие действия.

  1. Откройте Power BI Desktop.

  2. На вкладке "Файл" выберите "Параметры и настройки">"Параметры".

  3. В разделе "Параметрыглобальной>безопасности" снимите флажок "Включить проверку отзыва сертификата".

    Снимок экрана: флажок

  4. Нажмите ОК.

  5. Перезапустите Power BI Desktop.

Это важно

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

Чтобы задать этот сценарий в групповой политике, используйте ключ "DisableCertificateRevocationCheck" в пути реестра "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Параметр "DisableCertificateRevocationCheck", установленный на 0, всегда включает проверку (что останавливает работу Fiddler и аналогичных программ), а параметр "DisableCertificateRevocationCheck", установленный на 1, всегда отключает проверку (позволяя работать Fiddler и аналогичным программам).

Изменение метода проверки подлинности

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

Проверка подлинности в произвольных службах

Некоторые службы поддерживают возможность аутентификации веб-соединителя с помощью OAuth/Microsoft Entra ID по умолчанию. Однако эта проверка подлинности не работает в большинстве случаев.

При попытке пройти проверку подлинности, если возникает следующая ошибка:

We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.

Снимок экрана: диалоговое окно проверки подлинности, отображающее ошибку при подключении к конечной точке, которая не поддерживает OAuth с веб-соединителем.

Обратитесь к владельцу службы. Они должны изменить конфигурацию проверки подлинности или создать пользовательский соединитель.

Веб-соединитель использует ПРОТОКОЛ HTTP 1.1 для обмена данными

Соединитель Power Query Web взаимодействует с источником данных с помощью HTTP 1.1. Если источник данных ожидает обмена данными с помощью HTTP 1.0, может появиться сообщение об ошибке, например 500 Internal Server Error.

Невозможно переключить Power Query на использование HTTP 1.0. Power Query всегда отправляет Expect:100-continue, чтобы избежать передачи возможно больших полезных данных при неудаче первоначального вызова (например, из-за отсутствия необходимых разрешений). В настоящее время это поведение не может быть изменено.

Подключение к Microsoft Graph

В настоящее время Power Query не поддерживает подключение к REST APIMicrosoft Graph. Дополнительные сведения: отсутствие поддержки Microsoft Graph в Power Query