Android POST请求不起作用

Android POST请求不起作用,第1张

概述我正在这样做:@OverrideprotectedVoiddoInBackground(String...strings){try{Stringquery="username="+strings[0]+"&duration="+strings[1]+"&distance="+strings[2];URLurl=newURL(Score

我正在这样做:

@OverrIDeprotected VoID doInBackground(String... strings) {    try {        String query = "username=" + strings[0] + "&duration=" + strings[1] + "&distance=" + strings[2];        URL url = new URL(scoresActivity.URL);        httpURLConnection conn = (httpURLConnection) url.openConnection();        conn.setRequestMethod("POST");        Writer writer = new OutputStreamWriter(conn.getoutputStream());        writer.write(query);        writer.flush();        writer.close();        /*conn.addRequestProperty("username", strings[0]);        conn.addRequestProperty("duration", strings[1]);        conn.addRequestProperty("distance", strings[2]);*/        Log.v(TAG, strings[0] + " - " + strings[1] + " - " + strings[2]);        //conn.connect();    } catch(Exception e) {        Log.e(TAG, "exception", e);    }    return null;}

但该请求仅在服务器上不起作用…在服务器上,我应该看到发送的数据,但看不到它们

我也试过这个:

curl -XPOST --data "username=duri&duration=600&distance=555" http://someurl.com/

而且有效…可能是什么问题?

解决方法:

嘿,尝试使用这种语法.

@OverrIDe        protected String doInBackground(String... params) {            String urlString = params[0];            String username = params[1];            String password = params[2];            URL url = null;            inputStream stream = null;            httpURLConnection urlConnection = null;            try {                url = new URL(urlString);                urlConnection = (httpURLConnection) url.openConnection();                urlConnection.setRequestMethod("POST");                urlConnection.setDoOutput(true);                String data = URLEncoder.encode("username", "UTF-8")                        + "=" + URLEncoder.encode(username, "UTF-8");                data += "&" + URLEncoder.encode("password", "UTF-8") + "="                        + URLEncoder.encode(password, "UTF-8");                urlConnection.connect();                OutputStreamWriter wr = new OutputStreamWriter(urlConnection.getoutputStream());                wr.write(data);                wr.flush();                stream = urlConnection.getinputStream();                BufferedReader reader = new BufferedReader(new inputStreamReader(stream, "UTF-8"), 8);                String result = reader.readline();                return result;            } catch (IOException e) {                e.printstacktrace();            } finally {                if (urlConnection != null) {                    urlConnection.disconnect();                }            }            try {                Thread.sleep(2000);            } catch (InterruptedException e) {                e.printstacktrace();                Log.i("Result", "SLEEP ERROR");            }            return null;        }

希望这可以帮助. 总结

以上是内存溢出为你收集整理的Android POST请求不起作用全部内容,希望文章能够帮你解决Android POST请求不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1093247.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存