मुझे एपीआई दस्तावेज के लिए नोड.जेएस के साथ कुछ कोड लिखना है, लेकिन मैंने पिछले कुछ दिनों में वेब पर (समाधान के स्टैक सहित) के सभी समाधानों की कोशिश की है ...अनुरोध कैसे करें HTTP डायजेस्ट ऑथ Node.JS के साथ?
मेरा एपीआई HTTP डाइजेस्ट प्रमाणीकरण का उपयोग करें और यही समस्या है, मैं कनेक्ट कर सकता था, कि की नहीं एक बड़ी बात थी, लेकिन हर मैं एक ही वापसी हो गया है:
Got response : 401
HTTP Digest Authentication required for "api.example.com"
आप प्रमाणन के बिना नीचे मेरी आधार कोड दिखा सकते हैं! क्योंकि मैं मैं क्या सब कोशिश मैंने किया था के बाद कर सकते हैं पता नहीं है:
var http = require('http')
var options = {
host: 'api.example.com',
path: '/example/1.xml',
};
var request = http.get(options, function(res){
var body = "";
res.on('data', function(data){
body += data;
})
res.on('end', function(){
console.log('Got response : ' + res.statusCode);
console.log(body);
})
res.on('error', function(e){
console.log('Got error : ' +e.message);
});
});
मेरा आखिरी कोशिश में से एक इस मॉड्यूल https://npmjs.org/package/request उपयोग करने के लिए था, लेकिन वह हर रूप में भी काम नहीं करता मैं 401 मिल गया है!
अधिक जानकारी के लिए मैं रूबी, पायथन, PHP, और जावा के साथ अपने एपीआई से आवश्यक जानकारी को कनेक्ट और प्राप्त करने में सक्षम था, इसलिए मुझे यकीन है कि मेरा एपीआई अच्छी तरह से काम कर रहा है और जो जानकारी मैं पास करता हूं वह सही है। मैं नोड v0.10.11 के अंतिम स्थिर उपयोग का उपयोग करता हूं!
अगर कोई मेरी मदद कर सकता है या समाधान का समाधान कर सकता है तो मैं खुश रहूंगा।
संपादित करें: मैं मॉड्यूल के साथ अपने परीक्षण के बारे में कुछ विवरण जोड़ देगा Mickael/request
पहला प्रयास:
var request = require('request')
var options = {
'url': 'http://api.example.fr/example/1.xml',
'auth': {
'user': 'test',
'pass': 'test',
'sendImmediately': false
}
};
var request = request.get(options, function(error, response, body){
if (!error && response.statusCode == 200){
console.log('body : ' + body)
}
else{
console.log('Code : ' + response.statusCode)
console.log('error : ' + error)
console.log('body : ' + body)
}
});
दूसरा प्रयास करें:
var request = require('request')
request.get('http://api.example.fr/example/1.xml', function(error, response, body){
if (!error && response.statusCode == 200){
console.log('body : ' + body)
}
else{
console.log('Code : ' + response.statusCode)
console.log('error : ' + error)
console.log('body : ' + body)
}
}).auth('test', 'test', false);
लेकिन बदले अब भी वही है 401
सुझाव के लिए धन्यवाद लेकिन जैसा कि मैंने अपनी मूल पोस्ट में कहा था, मैंने इस समाधान की कोशिश की है कि आप मेरे पोस्ट के अंत में लिंक पा सकते हैं! – Milo
'request' का उपयोग करके अपना कोड पोस्ट करें। "मैंने कोशिश की और यह काम नहीं किया" वास्तव में आपकी मदद करने के लिए पर्याप्त नहीं है। –
मैं अनुरोध का उपयोग कर अपना कोड जोड़ने के लिए संपादन कर रहा था। आपकी मदद के लिए धन्यवाद :) – Milo