这是我的post发送请求方法,我想向自己项目的servlet发送,servlet的为/servlet/QueryTser,但是一直不通,,请教各位,这个怎么解决?
本post方法是完整的,,,只是图片小而已
/**
* 以POST方式发送HTTP请求
* @param surl 请求地址
* @param json 发送内容,JSON格式
* @return
* @throws Exception
*/
public static String sendJsonWithHttp(String surl, String json) throws Exception {
URL url = new URL(surl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
conn.setRequestMethod("POST");// 提交模式
conn.setRequestProperty("Content-Length", json.getBytes().length + "");
conn.setConnectTimeout(timeout);// 连接超时单位毫秒 //
conn.setReadTimeout(timeout);// 读取超时 单位毫秒
conn.setDoOutput(true);// 是否输入参数
conn.setDoInput(true);
conn.setUseCaches(false);
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.write(json.getBytes("utf-8"));
out.flush();
out.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
conn.disconnect();
return sb.toString();
}
把抛出已经改成捕获异常,然后在catch里面抛出新的异常,在finally关闭资源
在浏览器中能直接访问到URL("")中的连接吗?访问失败的话检查:服务器是否开启、ip、路径是否正确,代码是没什么问题的。
这是局域网的 ip 要是你自己的项目本地的话 使用 127.0.0.1 估计可以吧 你这ip能 ping 通吗?
第二个你这访问的是某个框架中的一个方法 不晓得 该方法设置了返回值了没呢