I am having trouble submitting form data to a web server. Every time I try to publish, I get this response from the server "No message", so, obviously, something is wrong with the code. Did I miss something?
Here is the part of HTML I'm trying to publish:
<form id="post" action="url" method="post" enctype="multipart/form-data"> <fieldset> <input id="board" name="board" value="hiekkalaatikko" type="hidden"> <input id="thread" name="thread" value="0" type="hidden"> <input name="uuid" id="uuid" value="1e54a561-b08e-4bad-b9b6-e618ccd91ef5" type="hidden"> <input name="email" style="position: absolute; left: -9999px;" type="text"> <table id="postform"> <tbody> <tr> <td class="label"><label for="postername">Viestinimi</label></td> <td><input name="postername" id="postername" onkeyup="checkName('poster');" type="text"> <span id="posternamestatus"></span></td> </tr> <tr> <td class="label"><label for="functions">Toiminnot</label></td> <td><input name="functions" id="functions" type="text"></td> </tr> <tr> <td class="label"><label for="subject">Aihe</label></td> <td> <input name="subject" id="subject" maxlength="60" type="text"> <input value="Lähetä" name="submit" id="submit" type="submit"> <span id="qrinfo"></span> </td> </tr> <tr> <td class="label"><label for="msg">Viesti</label></td> <td><textarea name="msg" id="msg" rows="4" cols="48"></textarea></td> </tr> <tr> <td class="label"><label for="file">Tiedosto</label></td> <td><input name="file" id="file" size="35" type="file"> <label for="spoilerfile">Juonipaljastus</label> <input id="spoilerfile" name="spoilerfile" type="checkbox"></td> </tr> <tr> <td class="label"><label for="embed">Upote</label></td> <td> <input name="embed" id="embed" type="text"> <select name="embedtype" id="embedtype"> <option value="9">Naamapalmu</option> <option value="1" selected="selected">YouTube</option> <option value="7">LiveLeak</option> <option value="4">SoundCloud</option> <option value="8">Vimeo</option> <option value="5">Vocaroo</option> </select> <a href="http://ylilauta.org/scripts/help.php?embeds" onclick="window.open(this.href,'embedhelp','width=640,height=480,scrollbars=yes'); return false;">Upotusohje</a> </td> </tr> <tr> <td colspan="2"> <ul id="postinfo"> <li>Sallitut tiedostotyypit ovat gif, jpeg, jpg, mp3, png, rar, swf, zip</li> <li>Suurin sallittu tiedostokoko on 10 Mt.</li> <li>2642 käyttäjää paikalla. (<a href="http://ylilauta.org/online.php">Graafi</a>)</li> <li>Yhteensä 10161 viestiä on lähetetty tälle alueelle. (<a href="http://ylilauta.org/postcount.php">Graafi</a>)</li> <li><a href="http://ylilauta.org/hiekkalaatikko/threadlist">Aiheluettelo</a></li> </ul> </td> </tr> </tbody> </table> </fieldset> </form>
Here is the Android side code:
@Override public void onClick(View v) { switch(v.getId()){ case R.id.send: MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); try{ reqEntity.addPart("content-type", new StringBody("text/html; charset=UTF-8")); reqEntity.addPart("board", new StringBody("hiekkalaatikko",Charset.forName("UTF-8"))); reqEntity.addPart("thread", new StringBody("0", Charset.forName("UTF-8"))); reqEntity.addPart("anticaptcha", new StringBody(anticaptcha, Charset.forName("UTF-8"))); reqEntity.addPart("uuid", new StringBody(UUID, Charset.forName("UTF-8"))); reqEntity.addPart("email", new StringBody("", Charset.forName("UTF-8"))); reqEntity.addPart("postername", new StringBody(mNameField.getText().toString(), Charset.forName("UTF-8"))); reqEntity.addPart("functions", new StringBody(mActionField.getText().toString(), Charset.forName("UTF-8"))); reqEntity.addPart("subject", new StringBody(mSubjectField.getText().toString(),Charset.forName("UTF-8"))); reqEntity.addPart("submit", new StringBody("Lähetä", Charset.forName("UTF-8"))); reqEntity.addPart("subboard", new StringBody("0", Charset.forName("UTF-8"))); reqEntity.addPart("msg", new StringBody(mMessageField.getText().toString(), Charset.forName("UTF-8"))); reqEntity.addPart("spoilerfile", new StringBody("checked", Charset.forName("UTF-8"))); reqEntity.addPart("embed", new StringBody("9", Charset.forName("UTF-8"))); } catch(Exception e){} postReply reply = new postReply(); reply.execute(reqEntity); break; } } public class postReply extends AsyncTask<MultipartEntity, Void, HttpResponse>{ @Override protected HttpResponse doInBackground(MultipartEntity... arg0) { array = arg0[0]; HttpResponse response = null; try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("url"); httppost.setEntity(arg0[0]); response = httpclient.execute(httppost); BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); String sResponse; StringBuilder s = new StringBuilder(); while ((sResponse = reader.readLine()) != null) { s = s.append(sResponse); } System.out.println(s); } catch (IOException e) { Log.i("Post", "Exception"); e.printStackTrace(); } return response; }
Edit: I tried to send this data to the test server from the browser and this application. I do not see any data, but I get the same "No message" response from the target server.
This is sent from the browser:
Time: Wed, 10 Apr 13 11:33:30 -0700 Source ip: *********** Headers (Some may be inserted by server) UNIQUE_ID = UWWwetBx6hIAAA7wUFQAAAAK HTTP_HOST = posttestserver.com HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_LANGUAGE = fi-fi,fi;q=0.8,en-us;q=0.5,en;q=0.3 HTTP_ACCEPT_ENCODING = gzip, deflate HTTP_CONNECTION = close CONTENT_TYPE = multipart/form-data; boundary=---------------------------1974624714324 CONTENT_LENGTH = 1326 REMOTE_ADDR = ************** REMOTE_PORT = 11440 GATEWAY_INTERFACE = CGI/1.1 REQUEST_METHOD = POST QUERY_STRING = dir=example REQUEST_URI = /post.php?dir=example REQUEST_TIME = 1365618810 Post Params: key: 'board' value: 'hiekkalaatikko' key: 'thread' value: '0' key: 'uuid' value: '1e54a561-b08e-4bad-b9b6-e618ccd91ef5' key: 'email' value: '' key: 'postername' value: 'name ' key: 'functions' value: 'functions' key: 'subject' value: '' key: 'submit' value: 'Lähetä' key: 'msg' value: 'Test message' key: 'embed' value: '' key: 'embedtype' value: '1' Empty post body. == Multipart File upload. == Received 1 file(s) 0: posted name=file name: type: error: 4 size: 0 File specified was not uploaded. Possible file upload attack.
And this is from my application:
Time: Wed, 10 Apr 13 11:35:01 -0700 Source ************* Headers (Some may be inserted by server) UNIQUE_ID = UWWw1dBx6hIAAA7bTL8AAAAD HTTP_HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_HTTP_ACCEPT_LANGUAGE = fi-fi,fi;q=0.8,en-us;q=0.5,en;q=0.3 CONTENT_LENGTH = 2189 CONTENT_TYPE = multipart/form-data; boundary=---------------------------321842129511553 HTTP_HOST = posttestserver.com HTTP_CONNECTION = close HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 REMOTE_ADDR = *************** REMOTE_PORT = 11448 GATEWAY_INTERFACE = CGI/1.1 REQUEST_METHOD = POST QUERY_STRING = dir=example REQUEST_URI = /post.php?dir=example REQUEST_TIME = 1365618901 Post Params: key: 'board' value: 'hiekkalaatikko' key: 'thread' value: '0' key: 'uuid' value: '0c44a067-802d-480d-b636-335d6d837c13' key: 'email' value: '' key: 'subject' value: '' key: 'embed' value: '' key: 'embedtype' value: '9' key: 'msg' value: 'Test message' key: 'submit' value: 'Luo aihe' key: 'postername' value: 'Name' key: 'functions' value: 'Functions' key: 'noko' value: 'off' Empty post body. == Multipart File upload. == Received 0 file(s)