Cosa devo fare:
1) leggere degli ID da un file di testo (nell'ordine delle migliaia);
2) recuperare la pagina html che ha come url http:\\blablabla=ID.
Tutto fattibile tramite una semplice
ma qui arriva il bello: se arrivano troppe richieste (ed io ne devo fare TANTE), il server banna l'ip richiedente.Code:URL url = new URL(urlText); URLConnection conn = url.openConnection(); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10"); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { doSomething(); }
Ho pensato di aggirare il problema utilizzando un web proxy con le seguenti caratteristiche:
1) deve permettere l'hotlink con una semplice concantenazione -> url = urlProxy + urlSito + ID;
2) non deve farsi bannare a sua volta.
Il secondo punto pensavo fosse automatico data la natura di questi servizi, ma, provando ad utilizzare Anonymouse.org ho scoperto che non è così: dopo "poche" richieste anche lui viene bannato per qualche tempo.
Cercando in rete ho trovato altri web proxy simili, come http://abc.vtunnelaccess.com/index.php, ma con questo proxy nascono altri problemi: se inserisco il link manualmente, tramite browser, carica la pagina senza problemi, mentre se richiedo la pagina via codice mi viene restituita una pagina di errore che mi dice che l'hotlink è vietato.
In pratica mi permette l'hotlink dal browser, ma non dal codice. Pecché?
Come posso risolvere?