Über dieses Blog...
Tipps und Tricks, aber auch Kritik - breit gefächert von Technik bis hin zum Design, manchmal (oder immer öfter) auch Politik.
Momentaner Fokus: Android/Java, CalDAV, Windows 7 benutzbar machen
Feeds
Interessant gefunden? Mitlesen? Vollständige Beiträge per Feed.
Zur Weiterverarbeitung oder zum Einbauen für Ihre Homepage: CSV, JavaScript
Tag-Cloud
Durchsuchen
Kategorien
Archiv
| Mo | Di | Mi | Do | Fr | Sa | So |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 |
Android/Java: HTTP-Requests absenden
Von e7 am 06.08.2010, 17:40 in der Kategorie Code-Snippets mit den Tags netzwerk verbindung https http internet android. Kompletten Eintrag zeigen
Zumindest per HTTP klappt das Nachfragen — HttpsURLConnection klappt leider nicht (import javax.net.ssl.HttpsURLConnection) und wirft eine nichtssagende Fehlermeldung mit irgendeiner Klassenangabe von Apache Harmony. Die Zeilen, die mit java.io.* zu tun haben (insbesondere das Anlegen des BufferedReader) lassen mich erahnen, warum so eine richtige objektorientierung wohl doch nicht immer ideal ist…
Hier wieder der Code (über die Formatierung hier im Blog muss ich auch mal drüber schauen — ist aber ne geklaute Klasse, d. h. die kann ich nicht ohne weiteres Einarbeiten anpassen):
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String s = „DEBUG:\n";
try {
String t;
String postData = „Testtext per POST";
// Verbindung aufbauen, Parameter setzen
URL u = new URL(„http://192.168.2.100/reverse.php“);
//HttpsURLConnection uc = (HttpsURLConnection)u.openConnection();
HttpURLConnection uc = (HttpURLConnection)u.openConnection();
uc.setUseCaches(false);
uc.setDoInput(true);
uc.setDoOutput(true);
// POST-Data setzen
uc.setRequestMethod(„POST“);
uc.setRequestProperty(„Content-Type", „text/xml; charset=utf-8“);
uc.setRequestProperty(„Content-Length", Integer.toString(postData.getBytes().length));
DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
dos.writeBytes(postData);
dos.flush();
dos.close();
// Rückgabe lesen
BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream()));
while ((t = br.readLine()) != null) {
s += t + „\n";
}
br.close();
// Done :)
uc.disconnect();
} catch (Exception e) {
s = „ERR: „+e.getMessage();
}
tv.setText(s);
setContentView(tv);
}
}
Die reverse.php ist übrigens einfach nur ein PHP-Script, das die per POST reinkommenden Daten umdreht und wieder ausgibt:
<?
$post = file_get_contents(„php://input“);
echo strrev($post);
?>
Alle Nachrichten finden Sie im Archiv.
© 2001 - 2012 by e7o.de; powered by e7cms. XHTML Strict für gute Browser.