Hallo,
ich versuche momentan bei einem Werbeanbieter etwas Geld für meinen Webserver zu verdienen. Um eine Auszahlung zu machen, darf die Klickrate allerdings nicht über 2,5% liegen. Da meine Freunde aber anscheinend sehr klickfreudig sind, habe ich eine deutlich höhere. Ich habe desshalb mehrfach die AGB's durchgelesen, Eigenklicks sind klar verboten. Ebenso das Generieren von Klicks, nichtso aber das Generieren von Views. Also hab ich mich an meinen Eclipse gesetzt und ein Proggie geschrieben, was mir alle paar secs eine neue IP holt und dannach per HTTPClient die seite mit der Werbung aufgerufen. Leider wird das nicht als View gezählt; genausowenig wie ein Seitenaufruf mit ADBlockPlus. Ich denke, das liegt daran, dass die Werbung (mit Flash eingebaut) nicht geladen wird, sodnern nur das HTML.
Jetzt habe ich das so umgeschrieben, dass er eigentlich nach der neuen IP einen neuen Firefox-Tab aufmacht mit der richtigen URL und diesen Wieder schließt. Das mit dem Schließen klappt merkwürdigerweise auch nicht, wenn nur 1 Tab offen ist...
Ausserdem müsste er den Cache regelmäßig löschen - weis jemand wie man das aus Java raus macht?
MfG
Abei der Code (Verbesserungsvorschläge an Stil, effiziens und Funktion gerne gesehen!):
import HTTPClient.*;
import java.io.IOException;
import java.util.*;
public class runCommands implements CookiePolicyHandler {
static Random generator = new Random();
static HTTPConnection recon = new HTTPConnection("192.168.1.1");
public static void main(String[] args) {
recon.addBasicAuthorization("****", "****", "*****");
for (int i = 0; i < 50; i++) {
System.out.println("++++++++++\r "+i+"\r++++++++++");
reconect();
visit("http://xxx.de");
waitRandomTime(45000);
visit("http://xxx.de/2");
waitRandomTime(45000);
}
reconect();
System.out.println("FERTIG!!!");
}
public boolean acceptCookie(Cookie cookie, RoRequest req, RoResponse resp) {
return true;
}
public boolean sendCookie(Cookie cookie, RoRequest req) {
return true;
}
private static void reconect() {
NVPair form_dataDiscon[] = new NVPair[1];
form_dataDiscon[0] = new NVPair("DiagDSLDisconnect", "PPPoE Trennung");
NVPair form_dataCon[] = new NVPair[1];
form_dataCon[0] = new NVPair("DiagDSLConnect", "PPPoE Verbindung");
HTTPResponse rsp;
System.out.println("--------------------");
try {
HTTPConnection aypacCon = new HTTPConnection("xxx.de");
rsp = aypacCon.Get("/ip.php");
System.out.println(rsp.getText());
rsp = recon.Post("/Forms/DiagADSL_1", form_dataDiscon );
rsp.getText();
Thread.sleep(1000);
rsp = recon.Post("/Forms/DiagADSL_1", form_dataCon );
rsp.getText();
Thread.sleep(1000);
System.out.println("Reconect sucessfully!");
rsp = aypacCon.Get("/ip.php");
System.out.println(rsp.getText());
}
catch (Exception exc) {
System.err.println("Fehler beim reconnect:\r"+exc);
}
System.out.println("--------------------");
}
private static void visit(String url) {
System.out.println("Besuche: " + url);
try {
Process r = Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + url );
Process s = Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + "javascript:location.href=' " + url + " ' " );
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
r.destroy();
s.destroy();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void waitRandomTime(int max) {
int sleep = (int) (generator.nextDouble()*max);
String time;
int tl = sleep;
int hours = tl / 3600000;
tl = tl % 3600000;
int mins = tl / 60000;
tl = tl % 60000;
int secs = tl / 1000;
tl = tl % 1000;
int milis = tl;
tl = 0; // ; )
time = ""+hours+":"+mins+":"+secs+":"+milis;
System.out.println("Warte"+ time +"\r\r");
try {
Thread.sleep(sleep);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}