2017-05-28 4 views
0
var Request = require("request") 

var options = { 
    url: option.apiUrl, 
    qs: { 
     apiKey: "T%2BLkADWTX0OzgMMDmEPHffxQNYcgNMyfYJcXyR0cl0%2BNe8w0g%3D%3D", 
    } 
    json: true 
} 



function handleResponse (error, response, body) { 


    console.log(response) //apiKey is changed to T%252BLkADWTX0OzgMMDmEPHffxQNYcgNMyfYJcXyR0cl0%252BNe8w0g%253D%253D 



} 

Request(options, handleResponse); 

こんにちは、要求するqsキー値、エンコード文字列を無効にする方法は?

APIKEYが間違ったキーに変更されます。

要求に応じて文字列エンコードを無効にするにはどのようなオプションを追加する必要がありますか?

またはJson APIを取得する代替手段は何ですか?

答えて

2

あなたのapiキーがencodeURIComponent()をクエリ文字列としてエンコードされているため、%3Dのようなspecials charは、リクエストが再度エンコードされたときに25%3Dになり、decodeURIComponentを使用すると正しいapiKeyを持つことができますあなたはずの共有APIキーSO

上:適切

var string = "T%2BLkADWTX0OzgMMDmEPHffxQNYcgNMyfYJcXyR0cl0%2BNe8w0g%3D%3D" 
    decodeURIComponent(string) // "T+LkADWTX0OzgMMDmEPHffxQNYcgNMyfYJcXyR0cl0+Ne8w0g==" 

PSエンコードします

関連する問題