java-方法不支持请求正文:GET

java-方法不支持请求正文:GET,第1张

概述classMySyncextendsAsyncTask{ProgressDialogmProgressDialog;protectedvoidonPreExecute(){mProgressDialog=ProgressDialog.show(MainActivity.this,"Loading...","DataisLoading...");}@Overrideprotected

 class MySync extends AsyncTask{ ProgressDialog mProgressDialog;    protected voID onPreExecute(){       mProgressDialog = ProgressDialog.show(MainActivity.this, "Loading...", "Data is Loading...");    }    @OverrIDe    protected Integer doInBackground(String... params)  {        int result = 0;       //String url="http://192.168.0.108:8080/sbi/login?"+"key1="+params[0]+"&key2="+params[1]";        int code;        try {            URL hp=new URL("http://192.168.0.108:8080/sbi/login?"+"key1="+params[0]+"&key2="+params[1]);            httpURLConnection urlConnection=(httpURLConnection)hp.openConnection();            urlConnection.connect();            Log.i("A", "connect");            code=urlConnection.getResponseCode();            Log.i("A","code");            boolean a=check(code);           if(a){                //urlConnection.setDoinput(true);                Log.i("A", "input");               // urlConnection.setDoOutput(true);                Log.i("A", "output");                urlConnection.setRequestMethod("GET");                Log.i("A", "get");                byte [] buf=("key1=" + params[0] + "&key2=" + params[1]).getBytes();                urlConnection.getoutputStream().write(buf);                Log.i("A", "sent");            }            else{                Log.i("A","error");                result=3;            }        }        catch (MalformedURLException e) {            Log.i("e", "Error");        }        catch (IOException e){            e.printstacktrace();        }    protected boolean check(int c){            if(c==200) return true;            else return false;        }   }

这段代码给出了错误方法不支持请求主体:get?另外,如果我插入setdooutput(true),那么它给出的错误已经连接.我是androID的新手,正在做我的大学项目

解决方法:

如果您真的想将键值对发送到请求正文中的服务器,则进行更改

urlConnection.setRequestMethod("GET");

urlConnection.setRequestMethod("POST");

或者,如果服务器不支持POST,但要求您执行GET,则删除行

byte [] buf=("key1=" + params[0] + "&key2=" + params[1]).getBytes();urlConnection.getoutputStream().write(buf);

从这行中我可以看到

URL hp=new URL("http://192.168.0.108:8080/sbi/login?"+"key1="+params[0]+"&key2="+params[1]);

您已经为GET http请求正确构建了Url,但是您正在将请求正文添加到不支持请求正文的http请求方法中(本例中为GET http方法).

查看this wikipidea页,了解有关REST和具有http / S的REST的更多详细信息,以获取有关此体系结构的更详细的想法

总结

以上是内存溢出为你收集整理的java-方法不支持请求正文:GET全部内容,希望文章能够帮你解决java-方法不支持请求正文:GET所遇到的程序开发问题。

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

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

原文地址: http://www.outofmemory.cn/web/1090351.html

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

发表评论

登录后才能评论

评论列表(0条)

保存