我有一个将json发布到我的服务器的方法,方法如下
sync_urlBuilder = new StringBuilder(context.getResources().getString(R.string.transprocessorURL));
sync_urlBuilder.append("?str=" + URLEncoder.encode(json.toString(), "UTF-8").toString());
RequestBody body = RequestBody.create(JSON, String.valueOf(json));
Request okHttprequest = new Request.Builder()
.url(sync_urlBuilder.toString())
.post(body)
.build();
okHttpClient.newCall(okHttprequest).enqueue(this);
这样可以正常工作,但是当json主体的长度非常大时,URL超过了URL长度的8190 apache限制。我的问题是如何在不遇到HTTP错误414的情况下发布如此大的URL长度。
答案 0 :(得分:0)
我最终通过调整我的代码来解决它,如下所示
RequestBody formBody = new FormBody.Builder()
.add("str", String.valueOf(json))
.build();
Request okHttprequest = new Request.Builder()
.url(context.getResources().getString(R.string.transprocessorURL))
.post(formBody)
.build();
okHttpClient.newCall(okHttprequest).enqueue(this);