2013-04-24 46 views
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實例上運行)芝麻/碼頭服務器的nod​​e.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的是兩個頭之間的不同。什麼是缺失/出錯?

+0

錯誤不在node.js代碼中。向我們展示您用於測試的查詢。兩臺服務器都一樣嗎?並且服務器是否類似,即運行相同查詢時沒有錯誤 – user568109 2013-04-24 04:50:04

+3

這裏存在節點版本問題。我在我的筆記本電腦上安裝了v0.8.17,我安裝了最新的EC2實例,它以某種方式破壞了某些東西。回到EC2上的節點0.8.17修復問題 – 2013-04-24 07:16:50

+0

@gauravjain你能[發表你的評論作爲答案並接受它](http://meta.stackexchange.com/a/54945/225437)?對於這個問題,在評論中回答的問題會少一個。 – 2013-06-28 00:55:00

回答

1

這裏有一個節點版本問題。我在我的筆記本電腦上安裝了v0.8.17,我安裝了最新的EC2實例,它以某種方式破壞了某些東西。回到EC2上的節點0.8.17修復了問題

相關問題