programing

Python을 사용하여 RESTful 서비스에서 JSON 데이터를 얻는 방법은 무엇입니까?

i4 2023. 4. 1. 08:27
반응형

Python을 사용하여 RESTful 서비스에서 JSON 데이터를 얻는 방법은 무엇입니까?

Python을 사용하여 RESTful 서비스에서 JSON 데이터를 가져오는 표준 방법이 있습니까?

인증에 Kerberos를 사용해야 합니다.

도움이 될 것 같네요

는 이것을 요청 라이브러리에 시도해 볼 것이다.기본적으로 동일한 용도로 사용할 수 있는 표준 라이브러리 모듈(urlib2, httplib2 등)에 대한 래퍼 사용이 훨씬 쉽습니다.예를 들어 기본 인증이 필요한 URL에서 json 데이터를 가져오는 방법은 다음과 같습니다.

import requests

response = requests.get('http://thedataishere.com',
                         auth=('user', 'password'))
data = response.json()

kerberos 인증의 경우 요청 프로젝트에는 요구와 함께 사용할 수 있는 kerberos 인증 클래스를 제공하는 reqests-kerberos 라이브러리가 있습니다.

import requests
from requests_kerberos import HTTPKerberosAuth

response = requests.get('http://thedataishere.com',
                         auth=HTTPKerberosAuth())
data = response.json()

내가 요점을 이해하지 않는 한, 이와 같은 것이 효과가 있을 것이다.

import json
import urllib2
json.load(urllib2.urlopen("url"))

기본적으로 서비스에 HTTP 요구를 하고 응답 본문을 해석해야 합니다.httplib2를 사용하고 싶습니다.

import httplib2 as http
import json

try:
    from urlparse import urlparse
except ImportError:
    from urllib.parse import urlparse

headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json; charset=UTF-8'
}

uri = 'http://yourservice.com'
path = '/path/to/resource/'

target = urlparse(uri+path)
method = 'GET'
body = ''

h = http.Http()

# If you need authentication some example:
if auth:
    h.add_credentials(auth.user, auth.password)

response, content = h.request(
        target.geturl(),
        method,
        body,
        headers)

# assume that content is a json reply
# parse content with the json module
data = json.loads(content)

Python 3을 사용하고자 하는 경우 다음을 사용할 수 있습니다.

import json
import urllib.request
req = urllib.request.Request('url')
with urllib.request.urlopen(req) as response:
    result = json.loads(response.readall().decode('utf-8'))

우선은 urlib2 또는 httplib2만 있으면 됩니다.어쨌든, 범용 REST 클라이언트가 필요한 경우는, 이것을 확인해 주세요.

https://github.com/scastillo/siesta

그러나 라이브러리의 기능 세트는 대부분의 웹 서비스에서 작동하지 않을 것입니다. 왜냐하면 그들은 아마도 oauth 등을 사용하기 때문입니다.또, httplib2에 비해 httplib 위에 쓰여져 있다는 사실도 마음에 들지 않습니다.많은 리다이렉션을 처리할 필요가 없다면, httplib2에 비하면 여전히 도움이 될 것입니다.

언급URL : https://stackoverflow.com/questions/7750557/how-do-i-get-json-data-from-restful-service-using-python

반응형