I train myslef with NodeJS and tried a simple GET call. Here is my code:

var http = require('http');

var options = {
    host: 'www.boardgamegeek.com'.path: '/xmlapi/boardgame/1? stats=1'.method: 'GET'
}

var request = http.request(options, function (response) {
    var str = ""
    response.on('data'.function (data) {
        str += data;
    });
    response.on('end'.function () {
        console.log(str);
    });
});

request.on('error'.function (e) {
    console.log('Problem with request: ' + e.message);
});

request.end();

When behind a proxy you need to make the following modifications (as explained in this answer):

put the proxy host in the host parameter
put the proxy port in the port parameter
put the full destination URL in the path parameter :
Which gives:

var options = {
    host: '<PROXY_HOST>'.port: '<PROXY_PORT>'.path: 'http://www.boardgamegeek.com/xmlapi/boardgame/1?stats=1'.method: 'GET'.headers: {
        Host: 'www.boardgamegeek.com'}}Copy the code