Sì, a volte .
Ci sono due cose che accadono comunemente. Il tuo link non funziona più, quindi non sono sicuro dello scenario reale in questo caso, quindi riassumerò un altro link.
Reindirizzamento HTTP
Questo è ciò che vedi con Bit.ly
e altri servizi. Quello che poi fa è fornire una risposta di reindirizzamento HTTP. Quando visiti http://bit.ly/oH3410 , reindirizza all'URL effettivo. A volte un URL reindirizza a un altro. Puoi vederlo accadere se inserisci l'URL in http://web-sniffer.net/ o, usando [curl][1] -I http://bit.ly/oH3410
, vedrai un 301 che punta a una nuova posizione.
Quindi, per gestire il reindirizzamento HTTP devi solo eseguire il loop di una richiesta HEAD HTTP fino a quando non smetti di ricevere risposte nei 300 (speriamo di ottenere un 200). Tieni presente che è possibile che reindirizzino in un ciclo, che non finirà mai. Puoi farlo con CURL o qualsiasi strumento HTTP.
Pagina di downloader
Questo è ciò che utilizza la maggior parte dei siti di download. Fai clic sul link per il download e ti porta a una pagina con una serie di annunci e dice "Il download inizierà a breve" qualcosa di simile. [ Esempio ]. Con questi puoi provare ad analizzare il link diretto effettivo dall'URL, ma sarebbe specifico del sito e la maggior parte dei siti non lo includerà per impedirti di aggirarlo. Questo viene fatto tramite un meta http-equiv="refresh"
tag nell'intestazione o JavaScript (più comune). Il JS di solito ha comunque un fallback di header.
C'è una soluzione però. Se guardi l'origine nella pagina di download, di solito vedrai un <meta http-equiv="refresh">
tag (di solito in un <noscript>
tag) con un attributo URL
che indica il download effettivo. Quindi usa CURL (o qualsiasi altro strumento HTTP) per scaricare la pagina, analizzarla e acquisire quel valore. Un sito può escluderlo, tuttavia, se vuole essere davvero cattivo, richiedendo quindi di avere JavaScript per scaricare i file.
Probabilmente esiste un blocco JavaScript che collega anche al download. Potrebbe essere offuscato o collegato da un altro URL. Il tuo chilometraggio può variare nel tentativo di analizzarlo. Potrebbe esserci anche un "link diretto" sulla pagina. Potresti provare alcune tecniche per trovarlo, ma ancora una volta potrebbero essere offuscate tramite JavaScript o addirittura perse tutte insieme.
edit
per vedere l'origine del markdown per come l'ho fatto.