Why doesn't request work without CURL scraping this page?

I am using request/cheerio to scrape image URLs from Amazon product pages but for some reason it doesn't work when using request on it's own. But if you use request with CURL then it works.

I want to know why it doesn't work with just request on it's own. This is because when using CURL I'm getting issues with the app running out of memory.

Here's part of the code to scrape the Amazon product page:

var request = require('request');
var curl = require('curlrequest');

// ===============================================

// images
    var testRe = /P\.when\('A'\)\.register\("ImageBlockATF", function\(A\){/img;
    var reHiRes = /"hiRes":"(.*?)"|"hiRes":()null/ig;
    var reLarge = /"large":"(.*?)"|"large":()null/ig;
    // end images

    curl.request({url:url}, function (err, html) {
        if (err) {
            console.log(err)
        } else {
            var $ = cheerio.load(html);

            // images
            var imgs = [];

            $('script').each(function(index, el) {
                var js = $(this).text();
                if(testRe.test(js)){
                    //console.log("js here");
                    // find hires images
                    var hiresImgs = [];
                    while(true){
                        var res = reHiRes.exec(js);
                        if(!res){
                            break;
                        }
                        //console.log("res1", res);
                        hiresImgs.push(res[1] || res[2]);
                    }
                    // find large Images
                    var largeImgs = [];
                    while(true){
                        var res = reLarge.exec(js);
                        if(!res){
                            break;
                        }
                        //console.log("res2", res);
                        largeImgs.push(res[1] || res[2]);
                    }

                    //console.log("hiresImgs", hiresImgs);
                    //console.log("largeImgs", largeImgs);

                    // merge image, hires higher priority
                    //console.log("hi res")
                    for(var i=0;i<hiresImgs.length;i++){
                        if(hiresImgs[i]){
                            imgs.push(hiresImgs[i]);
                        }
                    }
                    for(var i=0;i<largeImgs.length;i++){
                        if(largeImgs[i]){
                            imgs.push(largeImgs[i]);
                        }
                    }
                    //console.log("images 1", imgs);
                    return false;
                }
            });

            //console.log("images", imgs);

            var j = imgs[0]; // <-- this will be empty if not using CURL

            // end images

        }
        callback();
    });