Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems with xmlhttprequest status 302

I am trying to get real path in link megaupload but always but this dont work.

function getRealURL(){

    var st = new String(""); 
    var req = new XMLHttpRequest();
    req.open("GET","http://www.megaupload.com/?d=6CKP1MVJ",true);
    req.send(null);
    req.send(null);
    req.onreadystatechange = function (aEvt) {
     if (req.readyState == 4) {
        if(req.status == 302){
          //SUCESSO
           st = req.responseText;
        }
      }
    };//funcao

    element.getElementById("id").setAttribute("value", st);

}

i need this link:

Redirect to: http://www534.megaupload.com/files/c2c36829bc392692525f5b7b3d9d81dd/Coldplay - Warning Sign.mp3

insted of this:

http://www.megaupload.com/?d=6CKP1MVJ
like image 737
ericmoraess Avatar asked Jan 19 '23 16:01

ericmoraess


1 Answers

XMLHttpRequest follows the redirect automatically by default so you don't see the 302 response. You need to set nsIHttpChannel.redirectionLimit property to zero to prevent it:

req.open("GET","http://www.megaupload.com/?d=6CKP1MVJ",true);
req.channel.QueryInterface(Components.interfaces.nsIHttpChannel).redirectionLimit = 0;
req.send(null);

Not that the link you use here redirects anywhere but this is the general approach. Btw, instead of looking at the response text for redirects you should look at req.getResponseHeader("Location").

like image 56
Wladimir Palant Avatar answered Jan 25 '23 18:01

Wladimir Palant