2017-05-28 94 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改爲錯鍵。

我應該禁用字符串編碼加上要求QS哪個選項?

或什麼是另類的方式來獲得的Json API?

回答

2

它的原因是你的api密鑰是用encodeURIComponent()作爲查詢字符串進行URI編碼的,所以像%3D這樣的特殊字符變成25%3D時,如果你使用decodeURIComponent,你可以擁有正確的apiKey正確編碼

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

PS:你對SO

不應該共享API密鑰