2017-03-29 1 views
0

L'image que je veux télécharger des retours 403 quand j'essayé de télécharger avec javascriptjavascript image téléchargement qui nécessite referer

mais je peux télécharger l'image avec le code python comme ci-dessous. Il ajoute le referer aux en-têtes et le télécharge.

req = urllib.request.Request(image_url, headers={"Referer": referer_url}) 
with urllib.request.urlopen(req) as response, open("image.jpg", "wb") as outfile: 
    shutil.copyfileobj(response, outfile) 

Est-ce que javascript peut télécharger l'image comme ça?

Code Javascript Je suis en train d'essayer. Sa réaction native-fetch-blob libaray

export const saveToonImageToLocal = (url, imageName) => { 
    return RNFetchBlob 
    .config({ 
     path: dirs.DocumentDir + `${imageName}.jpg`, 
     appendExt: 'jpg' 
    }) 
    .fetch('GET', url, {}) 
    .then((res)=>{ 
     return res.path(); 
    }) 
    .catch((e)=>{ 
     console.log('error occurend during saving images'); 
    }) 
}; 
+0

Pouvez-vous ajouter le Javascript que vous utilisez à votre question? – wogsland

+0

Copie possible de [Définir referer pour xml.HTTP.Request?] (Http://stackoverflow.com/questions/27218525/set-referer-for-xml-http-request) – gyre

Répondre

0

Vous pouvez charger des images en utilisant javascript ajax appels et les en-têtes de passage dans le:

$.ajax({ 
    type:'GET', 
    url:'https://example.com/someimage.png', 
    headers: {'Referer': "http://somepage.com"}, 
    success:function(data){ 
     $('#someImage').attr('src',data); 
    } 
    });