Elv*_* R. 7 java android httpurlconnection
如果在此处设置了身份验证凭据,如果提供的用户/密码正确,则一切正常,但如果它们不正确则会挂起.这不是服务器问题,我使用Curl和浏览器检查,不正确的凭据立即返回401:
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password.toCharArray());
}
});
Run Code Online (Sandbox Code Playgroud)
挂起的代码在这里,它挂起在这一行:in = new BufferedReader(new InputStreamReader(httpURLConn.getInputStream())); (没有例外,它只停留在这条线上)
try {
URL url = new URL(resourceUrl);
HttpURLConnection httpURLConn = (HttpURLConnection) url.openConnection();
String rawData = "";
String currentLine = null;
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(httpURLConn.getInputStream()));
while ((currentLine = in.readLine()) != null) {
rawData = rawData.concat(currentLine);
}
in.close();
} catch (UnknownHostException e) {
Log.i(CLASS_NAME + "::" + METHOD_NAME
, "An exception occured while reading data from remote host. httpURLConn.responseCode = " + httpURLConn.getResponseCode()
+ " / httpURLConn.responseMessage = " + httpURLConn.getResponseMessage(), e);
throw new UnknownHostException();
} catch (IOException e) {
Log.i(CLASS_NAME + "::" + METHOD_NAME
, "An exception occured while reading data from remote host. httpURLConn.responseCode = " + httpURLConn.getResponseCode()
+ " / httpURLConn.responseMessage = " + httpURLConn.getResponseMessage(), e);
throw new IOException();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |