2016-05-21 5 views
0

node.jsを使用してhttp requstを送信し、baidu map APIを呼び出そうとしています。 吹き出しコード:node.jsを使用すると、baiduマップAPIのリクエストが間違った応答を受け取るか?

URLを過ぎてブラウザを直接使用すると、適切な形式で正しい応答が得られます。

しかし、ノードを使用してリクエストを送信すると、問題が発生します。私はURLが含まれている変更された場合

var request = require('request'); 
    request(
    { method: 'GET', 
     uri: 'http://api.map.baidu.com/place/v2/suggestion?query=beijing&region=131&output=json&ak=****hLQKu9ap9fPq5N1ExF1Kk7xe5Eah' 
    } 
    , function (error, response, body) { 

     res.json({ 
     res:response 
     }) 
    } 
) 

は一方で、一部の中国人が好き:Node.jsの中

http://api.map.baidu.com/place/v2/suggestion?query=北京理工大学&region=北京&output=json&ak=****hLQKu9ap9fPq5N1ExF1Kk7xe5Eah 

が、それはステータスコード400と完全に間違って応答が得られます。

答えて

2

あなたははい、それは動作しますencodeURI

uri: encodeURI('http://api.map.baidu.com/place/v2/suggestion?query=北京理工大学&region=北京&output=json&ak=3104hLQKu9ap9fPq5N1ExF1Kk7xe5Eah') 
+0

であなたのURIをエンコードし、セットJSONを必要とする必要があります。真 –

関連する問題