Rolf Baumann
- Forum-Beiträge: 24
21.11.2012, 13:57:44 via Website
21.11.2012 13:57:44 via Website
Ich möchte 2 arrays (zeit und ort) mittels HttpURLConnection post an meinen Server senden, wo sie mit php eingelesen und weiterverarbeitet werden.
Grundsätzlich funktioniert das Ganze, doch wird der Server auch bei kurzen Arrays (1-2 Daten, d.h. i im Code ist 1 oder 2) durch einen unendlichen Array blockiert. Ich versuche, die arrays in der Variablen "daten" abzubilden und so zu übergeben. Wahrscheinlich liegt dort ein Fehler.
Ich dankbar für jede Hilfe.
Der zweite Teil des codes lautet:
Der php Teil beginnt wie folgt
Grundsätzlich funktioniert das Ganze, doch wird der Server auch bei kurzen Arrays (1-2 Daten, d.h. i im Code ist 1 oder 2) durch einen unendlichen Array blockiert. Ich versuche, die arrays in der Variablen "daten" abzubilden und so zu übergeben. Wahrscheinlich liegt dort ein Fehler.
Ich dankbar für jede Hilfe.
Der zweite Teil des codes lautet:
1private String downloadUrl(URL url) throws IOException {
2 InputStream is = null;
3 // Only display the first 500 characters of the retrieved web page content.
4 int len = 500;
5
6 try {
7 HttpURLConnection conn = (HttpURLConnection) url.openConnection();
8 conn.setReadTimeout(10000 /* milliseconds */);
9 conn.setConnectTimeout(15000 /* milliseconds */);
10 conn.setRequestMethod("POST");
11 conn.setDoInput(true);
12 conn.setDoOutput(true);
13 conn.setChunkedStreamingMode(0);
14
15 conn.connect();
16
17 String daten="";
18 for (int j = 0; j < i; j ++){
19 if(j>0){
20 daten=daten + "&";
21 }
22 daten=daten + "zeit[]=" + URLEncoder.encode(zeitArray[j], "UTF-8") + "&ort[]=" + URLEncoder.encode(ortArray[j], "UTF-8");
23 }
24
25 OutputStream wr = new BufferedOutputStream(conn.getOutputStream());
26 wr.write(daten.getBytes());
27 wr.flush ();
28 wr.close ();
29
30 is = conn.getInputStream();
31
32 // Convert the InputStream into a string
33 String contentAsString = readIt(is, len);
34 return contentAsString;
35
36 // Makes sure that the InputStream is closed after the app is finished using it.
37 } finally {
38 if (is != null) {
39 is.close();
40 }
41 }
42 }
43
44
45 public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException{
46 Reader reader = null;
47 reader= new InputStreamReader(stream, "UTF-8");
48 char[] buffer = new char[len];
49 reader.read(buffer);
50 return new String(buffer);
51 }
2 InputStream is = null;
3 // Only display the first 500 characters of the retrieved web page content.
4 int len = 500;
5
6 try {
7 HttpURLConnection conn = (HttpURLConnection) url.openConnection();
8 conn.setReadTimeout(10000 /* milliseconds */);
9 conn.setConnectTimeout(15000 /* milliseconds */);
10 conn.setRequestMethod("POST");
11 conn.setDoInput(true);
12 conn.setDoOutput(true);
13 conn.setChunkedStreamingMode(0);
14
15 conn.connect();
16
17 String daten="";
18 for (int j = 0; j < i; j ++){
19 if(j>0){
20 daten=daten + "&";
21 }
22 daten=daten + "zeit[]=" + URLEncoder.encode(zeitArray[j], "UTF-8") + "&ort[]=" + URLEncoder.encode(ortArray[j], "UTF-8");
23 }
24
25 OutputStream wr = new BufferedOutputStream(conn.getOutputStream());
26 wr.write(daten.getBytes());
27 wr.flush ();
28 wr.close ();
29
30 is = conn.getInputStream();
31
32 // Convert the InputStream into a string
33 String contentAsString = readIt(is, len);
34 return contentAsString;
35
36 // Makes sure that the InputStream is closed after the app is finished using it.
37 } finally {
38 if (is != null) {
39 is.close();
40 }
41 }
42 }
43
44
45 public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException{
46 Reader reader = null;
47 reader= new InputStreamReader(stream, "UTF-8");
48 char[] buffer = new char[len];
49 reader.read(buffer);
50 return new String(buffer);
51 }
Der php Teil beginnt wie folgt
1if(isset($_POST['zeit'])) $zeitarray=$_POST['zeit'];
2if(isset($_POST['ort'])) $ortarray=$_POST['ort'];
2if(isset($_POST['ort'])) $ortarray=$_POST['ort'];
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.