HTTPClient发送请求的几种实现

1,可以使用最基本的流对象 URL对象直接将请求封装 然后发送

 

 

/**
		 * 
		 * HTTP + POST 发送将对象发送出去
		 */
//		String url="http://127.0.0.1:8088/ToolStore/up_registerPhonePay.action?username='liuyang'&age=18";
//		/**
//		 *  参数信息
//		 *  MBL_NO	1	String	11	手机号	
//		 *	TTXN_TM	1	String	14	交易请求时间	YYYYMMDDhhmmss
//		 *	TTXN_CNL	1	String	5	交易请求渠道	
//		 *	SIG_VAL	1	String	1024(变长)	数字签名(大写)	见附录1
//		 */
//		
//		PrintWriter out = null;
//		BufferedReader in = null;
//		String result = "";
//		try{
//		URL realUrl = new URL(url);
//		//打开和URL之间的连接
//		URLConnection conn = realUrl.openConnection();
//		conn.setRequestProperty("accept", "*/*");
//		conn.setRequestProperty("connection", "Keep-Alive");
//		conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
//		
//		//发送POST请求必须设置如下两行
//		conn.setDoOutput(true);
//		conn.setDoInput(true);
//		
//		//获取URLConnection对象对应的输出流
//		out = new PrintWriter(conn.getOutputStream());
//		//out.print(param);
//		//flush输出流的缓冲
//		out.flush();
//		//定义BufferedReader输入流来读取URL的响应
//		in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
//		String line;
//		while ((line = in.readLine())!= null)
//		{
//			result += "\n" + line;
//		}
//		}catch(Exception e){
//		System.out.println("发送POST请求出现异常!" + e);
//		e.printStackTrace();
//		}finally{
//			//finally块来关闭输出流、输入流
//			try{
//				if (out != null)
//				{
//					out.close();
//				}
//				if (in != null)
//				{
//					in.close();
//				}
//				}
//			catch (IOException ex)
//			{
//				ex.printStackTrace();
//			}
//	    };
//		return result;


2,可以使用apache提供common HttpClient jar包中得现成的方法,比较简单明了。


		/**
		 * 
		 * apache common client发送post /  get 请求
		 */
		
		
		HttpClient httpclient=new HttpClient();
		
		//post请求
		PostMethod postmethod=new PostMethod("http://127.0.0.1:8088/ToolStore/up_registerPhonePay.action");
		NameValuePair[] postData=new NameValuePair[2];
		postData[0]=new NameValuePair("username","liuyang");
		postData[1]=new NameValuePair("age","21");
		postmethod.addParameters(postData);
		
		//get请求
//		GetMethod getmethod=new GetMethod("http://www.baidu.com");
//		//返回结果int 
		int sendStatus=0;
		try {
			sendStatus=httpclient.executeMethod(postmethod);
			System.out.println("response=" + postmethod.getResponseBodyAsString());
		} catch (HttpException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			//释放
			postmethod.releaseConnection();
		}
		

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>