使用Android向服务器发送后Jsoup请求

时间:2014-04-14 19:20:12

标签: android web-services http http-post jsoup

我以前从未使用Jsoup发送和接收数据,我现在有点卡住了。 的背景

我的代码中也包含了jsoup库。它给了我以下警告,并没有进一步处理

04-15 00:09:54.044: W/System.err(15607): org.jsoup.HttpStatusException: HTTP error fetching URL. Status=400, URL=http://107.170.91.100/books/save_feedback
04-15 00:09:54.044: W/System.err(15607):    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:449)
04-15 00:09:54.044: W/System.err(15607):    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:424)
04-15 00:09:54.044: W/System.err(15607):    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:178)
04-15 00:09:54.044: W/System.err(15607):    at org.jsoup.helper.HttpConnection.post(HttpConnection.java:173)
04-15 00:09:54.044: W/System.err(15607):    at com.example.lms.Form$Networ.doInBackground(Form.java:170)
04-15 00:09:54.044: W/System.err(15607):    at com.example.lms.Form$Networ.doInBackground(Form.java:1)
04-15 00:09:54.044: W/System.err(15607):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
04-15 00:09:54.044: W/System.err(15607):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
04-15 00:09:54.044: W/System.err(15607):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-15 00:09:54.044: W/System.err(15607):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
04-15 00:09:54.044: W/System.err(15607):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)

这是我的代码:

@覆盖           protected String doInBackground(String ... urls){

            try {
                Document document = (Document) Jsoup.connect("http://107.170.91.100/books/save_feedback")
                        .data("q1", q1).data("q2", q2).data("q3", q3).data("q4", q4).data("q5", q5).data("q6", q6).data("q7", q7).data("q8", q8)
                        .data("q9", q9).data("q10", q10)
                        .data("latitude", "234").data("longitude", "344.4").data("imei", ime)
                        .data("time", MainActivity.b64)
                        .post();

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

PS:我想知道更多的事情,我怎样才能在服务器上发送整数或浮点数据,现在我尝试只发送字符串类型的数据。

1 个答案:

答案 0 :(得分:1)

您收到服务器的bad request响应。您可以在返回的错误号400上看到这一点。这意味着您尝试访问的URL无法以您尝试的方式访问。

我的猜测是,您需要先登录此服务,然后发送所有会话Cookie。