用浏览器可以访问到,但是手机就有时会出现FileNotFoundException,重点是把程序退出之后,有时又可以访问到该地址了
以下是firstPost方法 :
public static String firstPost(String urlString) {
StringBuffer resultData = new StringBuffer("");// 使用StringBuffer比String更高效
try {
URL url = new URL(urlString);// 新建URL对象
HttpURLConnection urlConn = (java.net.HttpURLConnection) url
.openConnection();// 新建网络连接对象
urlConn.setRequestMethod("POST");
// 避免出现乱码
urlConn.setRequestProperty("Accept-Charset", "utf-8");
urlConn.setRequestProperty("contentType", "utf-8");
urlConn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");// POST方式必需
// 获取sessionId
java.lang.String cookieval = urlConn.getHeaderField("set-cookie");
if (cookieval != null) {
MyApplication.setSessionid(cookieval.substring(0,
cookieval.indexOf(";")));
Log.e("sessionId", MyApplication.getSessionid());
}
urlConn.connect();
java.io.InputStreamReader in = new java.io.InputStreamReader(
urlConn.getInputStream());// 新建IO对象
if (urlConn.getContentLength() != -1) {// 响应头部返回了流的长度
char[] buffer = new char[urlConn.getContentLength()];
in.read(buffer, 0, buffer.length);
resultData.append(buffer);
} else {// 流的长度未知
java.io.BufferedReader buffer = new java.io.BufferedReader(in);// 输出流
java.lang.String inputLine = null;
while (((inputLine = buffer.readLine()) != null))// 使用循环来读取获得的数据
{
resultData.append(inputLine + "\r\n");
}
}
in.close();
urlConn.disconnect();
} catch (java.net.UnknownHostException e) {// 未连接网络
e.printStackTrace();
} catch (android.os.NetworkOnMainThreadException e) {// UI线程不支持网络操作
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return resultData.toString();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。