gpt4 book ai didi

java - [Android]-POST Json with HttpUrlConnection

转载 作者:行者123 更新时间:2023-11-29 19:30:03 25 4
gpt4 key购买 nike

当我使用 python 脚本向该服务器发送请求时,我为我的应用程序构建了一个服务器端,它工作正常,但对于我的应用程序它不起作用。

服务器:

服务器包含一个数据库。当我发送 JSON {"name":"your_name"} 时,服务器将名称保存在数据库中。

应用程序(安卓):

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

buttonSend=(Button)findViewById(R.id.button_send);


buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AsyncTaskRunner postReq = new AsyncTaskRunner();
postReq.execute("start");

}
});
}

private class AsyncTaskRunner extends AsyncTask<String,String,String>{
@Override
protected String doInBackground(String... params) {
try {
String url="my url";
URL object=new URL(url);

HttpURLConnection con = (HttpURLConnection) object.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
con.setRequestMethod("POST");

JSONObject cred = new JSONObject();
cred.put("name","my_name")

OutputStream os = con.getOutputStream();
os.write(cred.toString().getBytes("UTF-8"));
os.close();


}
catch (Exception e){
Log.v("ErrorAPP",e.toString());
}
return "";
}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}

@Override
protected void onPreExecute() {
super.onPreExecute();
}

@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
}
}

在我运行这个应用程序的手机中,我嗅探数据,我看到该应用程序向服务器发送了一个请求,但数据包不包含 json

最佳答案

我解决了!

改变:

OutputStream os = con.getOutputStream();
os.write(cred.toString().getBytes("UTF-8"));
os.close();

到:

DataOutputStream localDataOutputStream = new DataOutputStream(con.getOutputStream());
localDataOutputStream.writeBytes(cred.toString());
localDataOutputStream.flush();
localDataOutputStream.close();

关于java - [Android]-POST Json with HttpUrlConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40238360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com