Как получить JSON в фрейм данных Pandas с аутентификацией Windows - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь прочитать json с сайта интрасети, который использует проверку подлинности Windows, в информационный фрейм pandas с помощью функции read_json, но я получаю ошибку 401.

Небольшое прибегание к поиску показало, что аналогичная проблема с аутентификацией json в окнах чтения почтальона была решена с помощью функции Fiddler «Автоматически авторизовать», но, похоже, она не работает с пандами с помощью anaconda.

import pandas as pd
df = pd.read_json(windows authenticated url)

Кстати, URL работает просто отлично, он возвращает отлично отформатированный JSON в браузере.

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018
  • Является ли URL-адрес в корпоративной сети?
  • Вы обычно вводите его в браузере, затем он приостанавливается на 10 с, и вы получаете результаты без каких-либо запросов пароля?

    Если приведенное выше верно, вероятно,использует аутентификацию Kerberos.Вы, конечно, можете получить это с помощью Python.Используйте здесь пакет, который поможет вам с этим https://github.com/requests/requests-kerberos

    Обратите внимание, что некоторые языковые среды поддерживают свой собственный стек HTTP / Kerberos (Java), поэтому вам необходимо войти в домен Active Directory там отдельно от вашей ОС.авторизоваться.

0 голосов
/ 14 декабря 2018

Я бы предложил сначала выполнить HTTP-запрос GET, используя пакет запросы .Пакет предоставляет метод get(), который позволяет аутентификацию , а также метод json(), который возвращает закодированное в json содержимое ответа.Пример кода может выглядеть так:

import requests    

r = requests.get('https://intranet.jsondata.com/xy.json', auth=('user', 'pass'))
json_content = r.json()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...