作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用程序从 php 网络服务器获取大部分数据。
我的问题是服务器返回错误。错误不是 HTML 页面,而是简单的字符串。例如:
ERROR001
可能代表无效名称。
这是我的代码:
String responseBody = null;
URL url = new URL(strUrl);
URLConnection connection;
connection = url.openConnection();
connection.setUseCaches(false);
InputStream isResponse = (InputStream) connection.getContent(); // on errors I get IOException here
responseBody = convertStreamToString (isResponse);
当我使用它时,我在 connection.getContent() 上得到 IOException;
我也试过:
HttpGet getMethod = new HttpGet(url);
String responseBody = null;
responseBody = mClient.execute(getMethod,mResponseHandler); // on errors I getClientProtocolException
但是我在 mClient.execute 上得到了 getClientProtocolException
有什么想法可以将 ERROR001 这样的结果读入字符串吗?
最佳答案
问题是在出错时,Http header 是 HTTP 错误 500(内部服务器错误)。为了读取错误内容,我使用了以下代码:
String responseBody = null;
URL url = new URL(strUrl);
HttpURLConnection connection;
connection = (HttpURLConnection) url.openConnection();
connection.setUseCaches(false);
InputStream isResponse = null;
try {
isResponse = connection.getInputStream();
} catch (IOException e) {
isResponse = connection.getErrorStream();
}
responseBody = convertStreamToString (isResponse);
return responseBody;
关于php - 如何从 URL 获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7418591/
我是一名优秀的程序员,十分优秀!