我的请求代码可以在这里看到:
Error:Could not find any version that matches com.android.tools.build:gradle:1.2.3.+.
Searched in the following locations:
file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/tools/build/gradle/maven-metadata.xml
file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/tools/build/gradle/
https://repo1.maven.org/maven2/com/android/tools/build/gradle/maven-metadata.xml
Required by:
androidstudio-accelerometer-gps-master:WhenMoving:unspecified
请求发送到服务器,但没有使用我的JSON,所以我在我的响应中收到一条错误消息,说明我缺少必需的参数。
在makeRequest方法中,我记录httpPost.getEntity()并获取此值
public static void execute() {
Map<String, String> comment = new HashMap<String, String>();
comment.put("sourceCode", "int x = 0;");
comment.put("language", "54");
comment.put("input", "");
String json = new GsonBuilder().create().toJson(comment, Map.class);
HttpResponse response = makeRequest("http://api.compilers.sphere-engine.com/api/v3/submissions?access_token" +
"=a3bdc6343aa21ebe9f28ecd7c8a8c43f", json);
try {
String responseStr = EntityUtils.toString(response.getEntity());
Log.d("Response", responseStr);
} catch (IOException e) {
e.printStackTrace();
}
}
public static HttpResponse makeRequest(String uri, String json) {
try {
HttpPost httpPost = new HttpPost(uri);
httpPost.setEntity(new StringEntity(json));
Log.d("ResponseLate", EntityUtils.toString(httpPost.getEntity()));
return new DefaultHttpClient().execute(httpPost);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
感谢您的帮助!
答案 0 :(得分:0)
您尚未通过内容类型,因此服务器无法识别请求的类型...
组
httppost.setHeader(HTTP.CONTENT_TYPE,"application/json");
befor setentity()