2016-12-01 4 views
1

Попытка сделать запрос POST через прокси-сервер, получив в запросе ошибку, такую ​​как неэкранированные символы. Но это отлично работает без прокси.Получение «Путь запроса содержит ошибку неэкранированных символов» при выполнении запроса на отправку в Node Js

var request = require('request'); 
request.post({ 
      url: "https://sezion.com/api?accountID=58340ff7c05c1c8dac59e895&accountSecret=XXXXXXXXXXXXXXXXXXXXX=", 
      proxy: "http://proxy.example.com:8989", 
      headers: { 
       "Content-Type": "application/json" 
      }, 
      body: '{"jsonrpc":"2.0","id":"zdoLXrB5IkwQzwV2wBoj","method":"barrister-idl","params":[]}', 
      json:true 
}, function(error, response, body){ 
console.log(error); 
console.log(JSON.stringify(response)); 
    console.log(body); 
}); 

При выполнении этого кода, появляется сообщение об ошибке, как,

_http_client.js:53 
    throw new TypeError('Request path contains unescaped characters'); 
    ^

TypeError: Request path contains unescaped characters 
    at new ClientRequest (_http_client.js:53:11) 
    at TunnelingAgent.exports.request (http.js:31:10) 
    at TunnelingAgent.createSocket (D:\Seizon\node_modules\request\tunnel.js:117:25) 
    at TunnelingAgent.createSecureSocket [as createSocket] (D:\Seizon\node_modules\request\tunnel.js:189:41) 
    at TunnelingAgent.addRequest (D:\Seizon\node_modules\request\tunnel.js:81:8) 
    at new ClientRequest (_http_client.js:158:16) 
    at Object.exports.request (http.js:31:10) 
    at Object.exports.request (https.js:199:15) 
    at Request.start (D:\Seizon\node_modules\request\main.js:428:30) 
    at Request.write (D:\Seizon\node_modules\request\main.js:812:28) 
+0

У меня тоже есть эта проблема на Песчаном развиваются. Могу ли я получить реальный путь с проблемой? –

ответ

0
var request = require('request'); 
var qs = require('querystring'); 

var url = "https://sezion.com/api?" + 
    qs.stringify({ 
     accountID: '58340ff7c05c1c8dac59e895', 
     accountSecret: 'XXXXXXXXXXXXXXXXXx=' 
    }); 
request.post({ 
    url: url, 
    headers: { 
     "Content-Type": "application/json" 
    }, 
    body: { "jsonrpc": "2.0", "id": "zdoLXrB5IkwQzwV2wBoj", "method": "barrister-idl", "params": [] }, 
    json: true 
}, function (error, response, body) { 
    console.log(error); 
    console.log(JSON.stringify(response)); 
    console.log(body); 
}); 
+0

Thnks, но код работает очень хорошо без прокси ... Даже это не беспокоит –

+0

@siddiqrehman попробовал еще раз, протестировал работу, с вашей реальной учетной записью. В любом случае, это лучшая практика, чтобы выровнять/сбежать от вашего запроса – Simon

Смежные вопросы