【发布时间】:2014-10-15 14:52:06
【问题描述】:
我正在尝试访问 HTTPS 请求,但是当我尝试从我的 Android 应用程序访问它时,它无法访问服务器,但相同的 url 在 chrome http 客户端上工作正常。
这是我的 POST HTTP 请求代码
public String POST(String url){
InputStream inputStream = null;
String result = "";
try {
String jsonreply;
StringBuilder builder = new StringBuilder();
HttpClient client = getNewHttpClient();
HttpPost httpPost = new HttpPost(url);
Log.d(TAG, "URLS"+url);
try {
HttpResponse response = client.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
Log.d(TAG, "Status code"+statusCode);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
jsonreply = builder.toString();
return jsonreply;
} catch (Exception e) {
Log.d("InputStream", e.getLocalizedMessage());
}
// 11. return result
return result;
}
代码总是返回 statusCode 404(未找到)。我非常确定 url 是正确的,因为我也在其他应用程序中访问相同的 url。 我不能提供原始网址,但假的但类似的是这个
https://test.test.se/user_session.json?email=test.test%40gmail.se&password=>Test12345%21%40%23%24&brand=LGE&phonemodel=Nexus+5&os_version=4.4.4&os_type=Android
感谢您的帮助
【问题讨论】:
-
你的服务器有自签名证书吗?
-
您在示例中以 GET 方式提供参数,这是有意的吗?
-
是的,我的服务器有自签名证书,我的服务正在返回一些数据,这就是我添加 GET 的原因,我想我错了
标签: android json web-services http https