2016-04-01 5 views
0

Ich versuche, meine DDNS (No-IP) in einem Android-Client zu aktualisieren.Android DDNS Update URL

Ich mache eine Anfrage an die folgende URL. (Discription)

http://username:[email protected]/nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4

Wenn ich meinen Web-Browser verwenden, funktioniert alles einwandfrei.

"good [ip-address]"

Aber mein Android-Client wird nur die Antwort "nochange"

URL url = new URL("http://" + USERNAME + ":" + PASSWORD + "@dynupdate.no-ip.com/nic/update?hostname=" + HOSTNAME + "&myip=" + IP_ADDRESS); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setRequestMethod("GET"); 
int i = conn.getResponseCode(); 
stringBuilder = new StringBuilder(); 
bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String line; 
while ((line = bufferedReader.readLine()) != null) { 
    stringBuilder.append(line + "\n"); 
} 

Antwort

0

Von http://www.noip.com/integrate/request:

Wenn ein Update zu machen ist es wichtig, dass Ihre HTTP-Anforderung enthält einen HTTP User-Agent, der No-IP hilft, verschiedene Clients zu identifizieren, die auf das System zugreifen. Clients, die kein Benutzer-Agenten-Risiko bieten, werden vom System blockiert.

So brauchen Sie wahrscheinlich den Useragenten zu setzen, wie auf dieser Seite beschrieben, und zwar so etwas wie diese (diese Angaben mit dem datails Ihrer eigenen App ersetzen):

Useragent: NameOfUpdateProgram/Version [email protected]

Siehe here für Einzelheiten, wie die Useragent zu setzen, wenn HttpURLConnection verwendet wird, sollte so etwas wie dies funktioniert:

HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
conn.setRequestMethod("GET"); 
hc.setRequestProperty("User-Agent", "NameOfUpdateProgram/VersionNumber [email protected]");
+0

Das Hinzufügen des Benutzer-Agenden hat keine Auswirkungen, das Problem besteht immer noch. Ich habe versucht, die Anfrage mit dem Android-Browser zu machen und alles funktioniert gut (ich denke, der Browser hat seinen eigenen User-Agent) –

+0

@JohnnyCash, In diesem Fall habe ich keine Ahnung, was sonst noch falsch sein könnte, sorry – JonasCz