java 通过http方式获取返回的数据

/**
* 通过http方式获取返回的数据
*
* @param url
* 请求地址
* @param requestData
* 请求数据
* @param charset
* 字符集编码
* @return
* @throws Exception
*/
public static String post(String urlStr, String requestData, String charset)
throws Exception {
URL url = null;
HttpURLConnection conn = null;
ByteArrayOutputStream byteArray = null;
String temp;
try {
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection(); // 打开,创建Connection对象

conn.setRequestMethod("POST"); // 设定请求方式为POST
conn.setDoOutput(true); // 一定要设为true,因为要发送数据
// 下面开始设定Http头
// conn.setRequestProperty("Content-Type",
// "multipart/form-data; boundary=Bounday---");
conn.setRequestProperty("Content-Type", "text/xml;charset=utf-8");
conn.setRequestProperty("Cache-Control", "no-cache");
conn.setRequestProperty("Connection", "close");
conn.setConnectTimeout(60000);
// 传送送据
OutputStream buf = conn.getOutputStream();
buf = new BufferedOutputStream(buf);
OutputStreamWriter out = new OutputStreamWriter(buf);
out.write(requestData);
out.flush(); // 这个一定要,清空缓存,发送数据
out.close();

// 接收数据
InputStream in = conn.getInputStream();
byteArray = new ByteArrayOutputStream(in.available());
byte[] b = new byte[8192];
int len = -1;
while ((len = in.read(b)) != -1) {
byteArray.write(b, 0, len);
}
in.close();
temp = byteArray.toString(charset);
} catch (Exception e) {
throw e;
} finally {
if (conn != null) {
conn.disconnect();
}
}
return temp;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中发送HTTP请求并获取返回数据可以使用Java的内置类库java.net和java.io。 以下是一个示例代码,使用Java的URL类发送HTTP GET请求并获取返回数据: ```java import java.net.*; import java.io.*; public class HttpTest { public static void main(String[] args) { try { // 创建一个URL对象 URL url = new URL("http://example.com"); // 打开一个连接到URL的连接 HttpURLConnection con = (HttpURLConnection) url.openConnection(); // 设置请求方法为GET con.setRequestMethod("GET"); // 获取响应状态码 int status = con.getResponseCode(); // 如果响应状态码为200表示请求成功 if (status == 200) { // 获取输入流并读取返回数据 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer content = new StringBuffer(); while ((inputLine = in.readLine()) != null) { content.append(inputLine); } in.close(); // 输出返回数据 System.out.println(content.toString()); } else { System.out.println("请求失败"); } } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例中,我们使用了java.net中的URL类和HttpURLConnection类。我们首先创建一个URL对象,然后通过openConnection()方法打开一个连接到URL的连接。我们可以设置请求方法和请求头,发送请求并获取响应状态码。如果响应状态码为200,表示请求成功,我们可以获取输入流并读取返回数据。最后,我们将返回数据输出到控制台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值