0
var http = require('http')
function getSPARQLResults(query_string, callback) {
sparqlQ = getSPARQLPrefix() + query_string;
var options = {
host: 'localhost',
port: 8080,
path: '/openrdf-sesame/repositories/myRepo?query=' +encodeURIComponent(sparqlQ) + '&content-type=application/sparql-results+json',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/sparql-results+json',
},
};
//console.log (encodeURIComponent(query_string));
console.log (query_string);
var req = http.get(options, function(res) {
console.log("Got response: " + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function() {
console.log (data);
});
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
req.end();
}
響應(當的node.js服務器在Amazon EC2上的Linux實例上運行)芝麻/碼頭服務器的node.js的HTTP GET請求響應錯誤的內容類型
Got response: 400
HEADERS: {"date":"Wed, 24 Apr 2013 04:12:12 GMT","content-language":"en-US","content-type":"text/plain; charset=utf-8","content-length":"86","server":"Jetty(6.1.26)"}
undefined:1
MALFORMED QUERY: Lexical error at line 1, column 7. Encountered: "%" (37), af
^
響應(當Node.js的服務器上Ubuntu的筆記本電腦上運行)
Got response: 200
HEADERS: {"date":"Wed, 24 Apr 2013 04:20:37 GMT","vary":"Accept","content-language":"en-US","content-type":"application/sparql-results+json; charset=UTF-8","content-disposition":"attachment; filename=query-result.srj","transfer-encoding":"chunked","server":"Jetty(6.1.26)"}
Content-Type的是兩個頭之間的不同。什麼是缺失/出錯?
錯誤不在node.js代碼中。向我們展示您用於測試的查詢。兩臺服務器都一樣嗎?並且服務器是否類似,即運行相同查詢時沒有錯誤 – user568109 2013-04-24 04:50:04
這裏存在節點版本問題。我在我的筆記本電腦上安裝了v0.8.17,我安裝了最新的EC2實例,它以某種方式破壞了某些東西。回到EC2上的節點0.8.17修復問題 – 2013-04-24 07:16:50
@gauravjain你能[發表你的評論作爲答案並接受它](http://meta.stackexchange.com/a/54945/225437)?對於這個問題,在評論中回答的問題會少一個。 – 2013-06-28 00:55:00