`
1250605829
  • 浏览: 60502 次
  • 性别: Icon_minigender_1
  • 来自: 阜阳
社区版块
存档分类
最新评论

HTTPClient发送请求的几种实现

    博客分类:
  • java
阅读更多

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();
		}
		

 

分享到:
评论

相关推荐

    HttpClient以及获取页面内容应用

    使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。 1.创建HttpClient对象。 HttpClient client = new HttpClient(); 2.创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;...

    Android网络框架(Retrofit+Okhttp+Rxjava)、MVP模式(Dagger)

    HTTP 请求一般采用原生的 HttpClient 和 HttpUrlConnection 的两种网络访问方式。可是在 Android 5.0 的时候 Google 就不推荐使用 HttpClient 了,到了 Android 6.0 (api 23) SDK,不再提供 org.apache.http.* (只...

    Acheve.TestHost:TestHost实用程序方法

    阿契夫 NuGet软件包可改善AspNetCore ... 该程序包实现了身份验证中间件和几种扩展方法,以轻松指示对WebApi的身份验证调用的声明。 在TestServer启动类中,应包括身份验证服务并添加.Net Core新的AUthenticat

    java开源包3

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包4

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    JAVA上百实例源码以及开源项目

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    JAVA上百实例源码以及开源项目源代码

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--缓存优化之几种方案lastModified |--缓存优化之本地缓存优化(超过规定值或SD卡容量不够时) |--网络post提交查询请求 |--网络之HttpClient的get和post用法 |--网络之判断网络状态是否可用 |--网络之设置apn |--...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包11

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包2

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包6

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包5

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包8

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包7

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包9

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包101

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    Java资源包01

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

Global site tag (gtag.js) - Google Analytics