使用HttpURLConnection发请求获取数据

使用HttpURLConnection发请求获取数据

 

参考代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
*  功能说明:HttpClient - 通过发送Http请求获取目标URL的数据
*/
public class HttpClient {
	
	/** 提交方式POST **/
	public static final String SUBMIT_METHOD_POST = "POST";
	
	/** 提交方式GET **/
	public static final String SUBMIT_METHOD_GET = "GET";
	

	/**
	 * 通过http请求获取数据
	 * @param urlStr	url地址,如:www.baidu.com
	 * @param param		url的?后的参数,如:www.baidu.com?a=1&&b=2,则param为"a=1&&b=2"
	 * @return			返回读取到的数据(json字符串)
	 */
	public static String pub(String urlStr,String param,String method)
	{
		URL url = null;
		HttpURLConnection connection = null;
		StringBuffer buffer = new StringBuffer();
		System.out.println("request:"+urlStr+"?"+param);
		try {
			/*建立连接*/  
			url = new URL(urlStr);
			connection = (HttpURLConnection) url.openConnection();
			
			/*设置连接属性 */
			connection.setDoOutput(true);// 使用 URL 连接进行输出   
			connection.setDoInput(true);// 使用 URL 连接进行输入   
			connection.setUseCaches(false);// 忽略缓存   
			connection.setRequestMethod(method);// 设置URL请求方法   
			
			/*设置请求属性*/
			connection.setRequestProperty("Content-Length",param.length()+"");
			connection.setRequestProperty("Content-Type", "application/octet-stream");   
			connection.setRequestProperty("Connection", "Keep-Alive");// 维持长连接   
			connection.setRequestProperty("Charset", "UTF-8");// 设置编码
			
			/*建立输出流,并写入数据*/ 
			OutputStream outputStream = connection.getOutputStream();
			outputStream.write(param.getBytes("UTF-8"));
			
			/*读取数据*/
			BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));			
			String line = "";
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (connection != null) {
				connection.disconnect();
			}
		}
		System.out.println("response:"+buffer.toString());
		return buffer.toString();
	}
	
	/*测试*/
	public static void main(String[] args) {
		pub("http://f.apiplus.cn/ssq.json", "a=1",SUBMIT_METHOD_POST);
	}
}

 

测试结果: 


 

 

参考:

Java中使用HttpURLConnection发起POST请求

用Java的HttpClient写一个简单的http请求和返回

HttpClient学习总结:基本http操作

HttpClient 教程

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值