Android HttpUrlConnection:不允许状态405错误方法
HttpUrlConnection:不允许状态405错误方法 当发送请求时,我从服务器405接收到一个错误。我做错了什么? 当发送请求时,我从服务器405接收到一个错误。我做错了什么Android HttpUrlConnection:不允许状态405错误方法,android,Android,HttpUrlConnection:不允许状态405错误方法 当发送请求时,我从服务器405接收到一个错误。我做错了什么? 当发送请求时,我从服务器405接收到一个错误。我做错了什么 class SendAnswer extends AsyncTask<Void, String, Boolean> { @Override protected Boolean doInBackground(Void... voids) { try
class SendAnswer extends AsyncTask<Void, String, Boolean> {
@Override
protected Boolean doInBackground(Void... voids) {
try {
URL url = new URL(AppConstant.SEND_ANSWER + _survey_id + "/answers/");
System.out.println("SEND URL " + url);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches (false);
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Auth-Token", mSettings.getString("token", ""));
connection.setRequestProperty("Content-Type","application/json");
connection.connect();
JSONObject params = new JSONObject();
JSONArray jsonArray = new JSONArray();
JSONObject answerObj = new JSONObject();
JSONArray survey_pages = new JSONArray();
JSONObject survey_page = new JSONObject();
JSONObject surveyObj = new JSONObject();
JSONObject jObj = new JSONObject();
survey_page.put("id", _page_id);
survey_pages.put(survey_page);
surveyObj.put("survey_pages", survey_pages);
int listSize = question_list.size();
for (int i = 0; i<listSize; i++) {
question = question_list.get(i).id;
params.put("question", question);
params.put("answer", "true");
jsonArray.put(params);
jObj.put("answers", jsonArray);
}
survey_pages.put(jObj);
System.out.println("jsonString: "+ surveyObj.toString());
DataOutputStream printout = new DataOutputStream(connection.getOutputStream());
printout.writeBytes(surveyObj.toString());
printout.flush();
printout.close();
int status = connection.getResponseCode();
System.out.println("Connection " + status);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
类SendAnswer扩展了异步任务{
@凌驾
受保护的布尔doInBackground(Void…voids){
试一试{
URL URL=新URL(AppConstant.SEND\u ANSWER+\u survey\u id+“/answers/”;
System.out.println(“发送URL”+URL);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod(“POST”);
connection.setDoInput(true);
connection.setDoOutput(真);
connection.setUseCaches(false);
setRequestProperty(“接受”、“应用程序/json”);
connection.setRequestProperty(“Auth Token”,mSettings.getString(“Token”),mSettings.getString(“Token”);
setRequestProperty(“内容类型”、“应用程序/json”);
connection.connect();
JSONObject参数=新的JSONObject();
JSONArray JSONArray=新的JSONArray();
JSONObject answerObj=新的JSONObject();
JSONArray survey_pages=新的JSONArray();
JSONObject survey_page=新建JSONObject();
JSONObject surveyObj=新的JSONObject();
JSONObject jObj=新的JSONObject();
调查页面放置(“id”,页面id);
调查页面。放置(调查页面);
surveyObj.put(“调查页面”,调查页面);
int listSize=question_list.size();
对于(inti=0;i试试这个
HttpClient client = getHttpClient();
HttpPost request = new HttpPost(universal_URL_MENU+"?request_menu="+start_menu);
HttpResponse response = client.execute(request);
System.out.println("response in class"+response);
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
其中getHttpClient()
////
您正在向特定链接发送帖子。很可能您正在发送的链接不允许发送帖子,只允许发送GET。您还可以添加解释吗?
private static HttpClient getHttpClient() {
if (mHttpClient == null) {
mHttpClient = new DefaultHttpClient();
final HttpParams params = mHttpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
}
return mHttpClient;
}
private static HttpClient mHttpClient;
conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod(reqMethod);
conn.setConnectTimeout(15000);
conn.setReadTimeout(15000);
byte[] data = params.getBytes();
if(!isJoinOrLoginOrResetPasswordMethod){
conn.setRequestProperty("Authorization",USE_KEY);
}
conn.setRequestProperty("X-Application-Id", APP_ID);
// conn.setRequestProperty("X-Application-Id"
conn.setDoOutput(true);
// conn.setDoInput(true);
OutputStream out = conn.getOutputStream();
// out.write(params.getBytes("UTF-8"));
out.write(data);
out.flush();
out.close();
int responseCode = conn.getResponseCode();
The responseCode =405 what is wrong ??