有沒有人有一個API響應的例子從一個http.request()
傳遞給第三方返回到我的clientSever並寫出到客戶端瀏覽器?如何向第三方API寫入Node.js請求?
我一直陷在我肯定是簡單的邏輯。我在閱讀文檔時使用了快遞,但似乎沒有提供這種抽象。
感謝
有沒有人有一個API響應的例子從一個http.request()
傳遞給第三方返回到我的clientSever並寫出到客戶端瀏覽器?如何向第三方API寫入Node.js請求?
我一直陷在我肯定是簡單的邏輯。我在閱讀文檔時使用了快遞,但似乎沒有提供這種抽象。
感謝
請注意,這裏的答案是一點點出來的日期 - 您會收到不推薦使用的警告。 2013年等效可能是:
app.get('/log/goal', function(req, res){
var options = {
host : 'www.example.com',
path : '/api/action/param1/value1/param2/value2',
port : 80,
method : 'GET'
}
var request = http.request(options, function(response){
var body = ""
response.on('data', function(data) {
body += data;
});
response.on('end', function() {
res.send(JSON.parse(body));
});
});
request.on('error', function(e) {
console.log('Problem with request: ' + e.message);
});
request.end();
});
我也想建議request模塊,如果你將要寫了很多的這些。從長遠來看,它會爲您節省很多擊鍵!
這裏是明確get函數訪問外部API的一個簡單的例子:
app.get('/log/goal', function(req, res){
//Setup your client
var client = http.createClient(80, 'http://[put the base url to the api here]');
//Setup the request by passing the parameters in the URL (REST API)
var request = client.request('GET', '/api/action/param1/value1/param2/value2', {"host":"[put base url here again]"});
request.addListener("response", function(response) { //Add listener to watch for the response
var body = "";
response.addListener("data", function(data) { //Add listener for the actual data
body += data; //Append all data coming from api to the body variable
});
response.addListener("end", function() { //When the response ends, do what you will with the data
var response = JSON.parse(body); //In this example, I am parsing a JSON response
});
});
request.end();
res.send(response); //Print the response to the screen
});
希望幫助!
OAuth會如何改變?我不知道把證書放在哪裏。 – user137717 2014-11-15 18:08:36
這會變得更復雜... – Clint 2014-11-17 20:06:25
你有鏈接到某個地方的解釋嗎?我一直無法找到徹底解釋過程的東西。 – user137717 2014-11-17 21:12:54
這個例子看起來很相似,你正在努力實現(純Node.js的,沒有明文)內容:
http://blog.tredix.com/2011/03/partly-cloudy-nodejs-and-ifs.html
HTH
search.npmjs.org有很多模塊可以幫助您發出http請求... – Alfred 2011-03-25 22:24:04