Request: ์š”์ฒญ ๊ฒฝ๋กœ์— ์ด์Šค์ผ€์ดํ”„ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 01์›” 29์ผ  ยท  17์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: request/request

์›น ์‚ฌ์ดํŠธ์— ๊ฐ„๋‹จํ•œ GET ์š”์ฒญ์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. https://www.crunchbase.com/location/belgrade/2a22cd01619e1ff39394303b255670cb?utm_source=crunchbase_tc_river&utm_medium=export&utm_campaign=dataset

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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 (/usr/lib/nodejs/tunnel-agent/index.js:117:25)
    at TunnelingAgent.createSecureSocket [as createSocket] (/usr/lib/nodejs/tunnel-agent/index.js:184:41)
    at TunnelingAgent.addRequest (/usr/lib/nodejs/tunnel-agent/index.js:80:8)
    at new ClientRequest (_http_client.js:137:16)
    at Object.exports.request (http.js:31:10)
    at Object.exports.request (https.js:181:15)
    at Request.start (/usr/lib/nodejs/request/index.js:607:30)
    at Request.end (/usr/lib/nodejs/request/index.js:1235:28)

URL์ด ์š”์ฒญ ํ•จ์ˆ˜์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „์†ก๋˜๋„๋ก ํ˜ธํ™˜๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? [email protected] ๋ฐ ๋…ธ๋“œ v5.5.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

let url = 'http://localhost:30001?q=ะฐะฐะฑะฑะฒะฒะณะณะดะด'
axios.get(encodeURI(url)).then( data => { })

๋ชจ๋“  17 ๋Œ“๊ธ€

๋‹น์‹ ๊ณผ ๊ฐ™์€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๊ฒƒ์„ ํ•  ๋•Œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

'use strict';

const request = require('request');

request(
    'https://www.crunchbase.com/location/belgrade/2a22cd01619e1ff39394303b255670cb?utm_source=crunchbase_tc_river&utm_medium=export&utm_campaign=dataset',
    (error, response, body) => {
        if (error) {
            return console.error(error);
        }
        return console.log(body.substr(0, 128) + '...');
    }
);

์ฝ”๋“œ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์‹ค์ œ ์˜ค๋ฅ˜๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ด ์˜ค๋ฅ˜๋Š” URL์— ๊ณต๋ฐฑ์„ ์ˆจ๊ฒผ์„ ๋•Œ๋งŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์š”์ฒญ์€ ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ด์Šค์ผ€์ดํ”„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์Šค๋‹ˆํŽซ์„ ๊ฒŒ์‹œํ•˜๊ฑฐ๋‚˜ ์ตœ์‹  ๋ฒ„์ „(๊ท€ํ•˜์˜ ๋ฒ„์ „์€ ์ƒ๋‹นํžˆ ์˜ค๋ž˜๋œ ๋ฒ„์ „)์„ ์‹œ๋„ํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์ง€์†๋˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„ ๋’ค์—์„œ ์ผํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์ฝ”๋“œ๋Š” ํ”„๋ก์‹œ ๋’ค์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์— ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํ”„๋ก์‹œ ์„œ๋ฒ„ ๋’ค์—์„œ ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ธ์ง€ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

'use strict';

const request = require('request');


var get_config = function(site_url){
    var config = {
        url : ((site_url)),
        proxy : 'http://proxyhost:proxyport'
    };

    return config;
};
request(
    get_config('https://www.crunchbase.com/location/belgrade/2a22cd01619e1ff39394303b255670cb?utm_source=crunchbase_tc_river&utm_medium=export&utm_campaign=dataset'),
    (error, response, body) => {
        if (error) {
            return console.error(error);
        }
        return console.log(body.substr(0, 128) + '...');
    }
)

๋˜ํ•œ ํฅ๋ฏธ๋กœ์šด ๊ด€์ฐฐ์€ "https"๋ฅผ "http"๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์š”์ฒญ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ๊ฐ€ https๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด ๋‚ด๋ถ€์ ์œผ๋กœ ์ผ๋ถ€ ๋ฆฌ๋””๋ ‰์…˜์ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋ฆฌ๋””๋ ‰์…˜์— ๊ณต๋ฐฑ์ด ํฌํ•จ๋œ ํ˜•์‹์ด ์ž˜๋ชป๋œ/์ž˜๋ชป๋œ URL์ด ์žˆ์–ด ์ด ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๋Œ€๋ฆฌ์ธ์ธ ๊ฒฝ์šฐ ์ •๋ณด๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ "/usr/lib/nodejs/request/index.js:607"์— ์ค‘๋‹จ์ ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋””๋ฒ„๊ฑฐ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋œ URL์„ ๊ฒ€์‚ฌํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•ํ•˜์„ธ์š” @dsaumyajit007

์ด๊ฒƒ์€ ๊ดœ์ฐฎ์•„ ๋ณด์ด๊ณ  google.com ์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ดํ›„์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

const request = require('request');


var get_config = function(site_url){
    var config = {
        url : ((site_url)),
        proxy : 'http://proxyurl:proxyport'
    };

    return config;
};
request(
    get_config('https://www.crunchbase.com/location/belgrade/2a22cd01619e1ff39394303b255670cb')
    , (function (error, response, body) {
        console.log(response.statusCode);
        console.error(error);
        return console.log(body.substr(0, 128) + '...');
    })
);

google.com

null
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en-IN"><head><meta content="text/html; charset=UTF-...

@sudheesh001 ๋‹ค๋ฅธ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉ ์ค‘์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ž.

๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ์˜์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Ubuntu 14.04์—์„œ Node js๋ฅผ ์‹คํ–‰ ์ค‘์ด๋ฉฐ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.
node --version
๋‚˜๋Š” v5.5.0์„ ์–ป๋Š”๋‹ค. ์–ด๋”˜๊ฐ€์—์„œ ๋ฆด๋ฆฌ์Šค๊ฐ€ 0.xx ์ธ ๊ฒƒ์„ ๋ณด์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๊นŒ? ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์˜ Node๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? https://nodejs.org/en/download/package-manager/#debian -and-ubuntu-based-linux-distributions์˜ ์ง€์นจ์— ๋”ฐ๋ผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, 0.x ๋ฆด๋ฆฌ์Šค๋Š” iojs/nodejs ๋ณ‘ํ•ฉ ์ด์ „์˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
v5.5.0์€ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—ฌ์ „ํžˆ ๊ทธ๊ฒƒ์ด ๋‹จ์ง€ ๋‹น์‹ ์˜ ๋Œ€๋ฆฌ์ธ์ด ์ด์ƒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ™•์ธ. ๋งํฌ๊ฐ€ "https"๋ฅผ "http"๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์ž‘๋™ํ•˜๋Š” ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์–ด๋–ป๊ฒŒ ๋“ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค

์ด์ œ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. :+1:
๋ฐฉ๊ธˆ nodejs์™€ ์š”์ฒญ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋„์›€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค @sudheesh001 @SimonSchick

์š”์ฒญ ๋ชจ๋“ˆ์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜์ง€๋งŒ์ด ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ๋ฉฐ์น  ํ›„์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์—ฌ๊ธฐ์—์„œ ๋ถˆํ‰ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ‚ค๋ณด๋“œ์—์„œ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ํ™œ์„ฑํ™”ํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•„๋ž์–ด/์˜์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์กฐ์‚ฌํ•˜๋Š” ๋™์•ˆ ์šฐ๋ฆฌ๋ฅผ ์–ด๋”˜๊ฐ€๋กœ ๋ฐ๋ ค๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

Windows(์ด๋”๋„ท์—์„œ ํ™ˆ ๋„คํŠธ์›Œํฌ๋กœ)์—์„œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ macOS(๋™์ผํ•œ ๋„คํŠธ์›Œํฌ๋กœ์˜ Wi-Fi)์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. http ํŠธ๋ฆญ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

let url = 'http://localhost:30001?q=ะฐะฐะฑะฑะฒะฒะณะณะดะด'
axios.get(encodeURI(url)).then( data => { })

์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ kubernetes ํ™˜๊ฒฝ์—์„œ ์š”์ฒญ ๋ฐ›๊ธฐ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰