क्या Python का उपयोग कर रीस्टफुल सेवा से JSON डेटा प्राप्त करने का कोई मानक तरीका है?पाइथन का उपयोग कर रीस्टफुल सेवा से JSON डेटा कैसे प्राप्त करूं?
मुझे प्रमाणीकरण के लिए केर्बेरो का उपयोग करने की आवश्यकता है।
कुछ स्निपेट मदद करेंगे।
क्या Python का उपयोग कर रीस्टफुल सेवा से JSON डेटा प्राप्त करने का कोई मानक तरीका है?पाइथन का उपयोग कर रीस्टफुल सेवा से JSON डेटा कैसे प्राप्त करूं?
मुझे प्रमाणीकरण के लिए केर्बेरो का उपयोग करने की आवश्यकता है।
कुछ स्निपेट मदद करेंगे।
जब तक कि मैं बिंदु याद कर रहा हूँ इस तरह काम करना चाहिए:
import json
import urllib2
json.load(urllib2.urlopen("url"))
यह काम करेगा यदि पास करने के लिए कोई क्रेडेंशियल आवश्यक नहीं है। लेकिन मुझे यह "urllib2.HTTPError: HTTP त्रुटि 401: अनधिकृत" त्रुटि – Bala
कहां से डाउनलोड करने का प्रयास कर रहे हैं? – Trufa
मुझे केर्बेरो प्रमाणीकरण का उपयोग करने की आवश्यकता है। क्षमा करें, मैं सवाल में उल्लेख करना भूल गया। – Bala
सबसे पहले मुझे लगता है कि आपको अपने स्वयं के समाधान को रोल करने की ज़रूरत है, आपको केवल urllib2 या httplib2 की आवश्यकता है। वैसे भी यदि आपको सामान्य आरईएसटी क्लाइंट की आवश्यकता होती है तो इसे जांचें।
https://github.com/scastillo/siesta
हालांकि मुझे लगता है कि पुस्तकालय की सुविधा सेट, क्योंकि वे शायद OAuth आदि का उपयोग करेगा सबसे वेब सेवाओं के लिए काम नहीं करेगा ..। इसके अलावा मुझे यह तथ्य पसंद नहीं है कि यह प्रेजेंटप्लिब पर लिखा गया है जो कि पीडीएफप्लिब 2 की तुलना में दर्द है, यदि आपको बहुत सी रीडायरेक्शन इत्यादि को संभालने की ज़रूरत नहीं है तो आपको अभी भी काम करना चाहिए ..
मैं requests लाइब्रेरी इसके लिए प्रयास करें। अनिवार्य रूप से मानक लाइब्रेरी मॉड्यूल के आसपास रैपर का उपयोग करना बहुत आसान है (यानी urllib2, httplib2, आदि) आप एक ही चीज़ के लिए उपयोग करेंगे। उदाहरण के लिए, एक यूआरएल है कि बुनियादी प्रमाणीकरण की आवश्यकता से json डेटा प्राप्त करने का इस प्रकार दिखाई देगा:
:import requests
response = requests.get('http://thedataishere.com',
auth=('user', 'password'))
data = response.json()
Kerberos प्रमाणीकरण के लिए requests project जो एक Kerberos प्रमाणीकरण वर्ग है कि आप requests साथ उपयोग कर सकते हैं प्रदान करता है reqests-kerberos पुस्तकालय है
import requests
from requests_kerberos import HTTPKerberosAuth
response = requests.get('http://thedataishere.com',
auth=HTTPKerberosAuth())
data = response.json()
यदि आप 'अनुरोध' मॉड्यूल खो रहे हैं, तो बस करें: 'पाइप इंस्टॉल अनुरोध'। अधिक जानकारी और दस्तावेज़ [यहां] (http://docs.python-requests.org/en/latest/user/install/) – gudthing
यहां क्यों मेरी जेसन प्रतिक्रिया कुंजी, मूल्य जोड़ी से पहले आपके साथ क्यों बनती है? * {u'status ': u'FINISHED', u'startTime ': u'2016-11-08T15: 32: 33.241Z', u'jobId ': u'f9d71eaa-d439-4a39-a258-54220b14f1b8', u 'संदर्भ': u'sql-context ', u'duration': u'0.061 secs '} * –
आपको मूल रूप से सेवा के लिए HTTP अनुरोध करने की आवश्यकता है, और फिर प्रतिक्रिया के शरीर को पार्स करें।
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)
धन्यवाद यह –
आप अजगर 3 उपयोग करने के लिए चाहते हैं, तो आप निम्न का उपयोग कर सकते हैं:: मैं इसके लिए httplib2 का उपयोग करना चाहते यह आपको मदद मिल सकती है
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'))
यह काम करता है प्रमाणीकरण के लिए केर्बेरो का उपयोग कैसे करता है? – Foon
http://stackoverflow.com/questions/ 713847/सिफारिश-के-पायथन-आराम-वेब-सेवाओं-ढांचे –
मैं "पायथन - ** आधारित ** आरईएसटी फ्रेमवर्क" नहीं देख रहा हूं। मैं पाइथन में कुछ जावा सर्वर द्वारा प्रदान की गई रीस्टफुल सेवा का उपयोग करना चाहता हूं। फिर भी धन्यवाद। – Bala