`
1250605829
  • 浏览: 62062 次
  • 性别: 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发送post请求传输json数据

    要使用HttpClient发送POST请求,你需要以下几个步骤: 1. **导入依赖**:确保你的项目中包含了HttpClient的相关库。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....

    php中http请求封装HttpClient精华中的经典代码

    上述代码展示了HttpClient的基本结构,包括构造函数、GET和POST方法,以及私有的发送请求方法。`buildUrl`函数用于构建带参数的URL,`sendRequest`则利用cURL库发送HTTP请求,并返回响应的HTTP状态码和响应体。 ...

    使用httpClient访问https+443端口号。

    6. **执行请求**:使用HttpClient实例的`execute`方法发送请求,并获取`HttpResponse`。 7. **处理响应**:解析`HttpResponse`,获取状态码,读取响应体,可能需要使用`EntityUtils`类。 8. **关闭连接**:记得在...

    详解.NET Core 使用HttpClient SSL请求出错的解决办法

    解决这种错误有几种方法。第一种方法是直接在HttpClientHandler中挂接ServerCertificateCustomValidationCallback事件。这个事件委托在SSL证书验证过程中被调用,开发者可以在这里编写自定义的逻辑来处理证书验证。...

    C++实现HTTP请求

    3. **发送请求**:使用send函数将构建好的请求头和请求体(对于POST请求)发送到服务器。 4. **接收响应**:服务器会返回一个HTTP响应,包括状态行、响应头和响应体。我们需要使用recv函数逐块接收这些数据,并处理...

    httpclient

    在C++的实现中,你需要创建结构来存储这些头信息,并在发送请求时正确地编码它们。 6. **响应处理**:服务器返回的HTTP响应也包含状态行(如“HTTP/1.1 200 OK”)、响应头和响应体。你需要解析这些信息,以确定...

    用HttpClient类实现查询申通快递的功能

    `HttpClient`是一种用于发送HTTP请求并接收HTTP响应的工具库。它为开发者提供了高级别的API来执行HTTP操作,如GET、POST等方法。在PHP中,`HttpClient`可以作为一种非常方便的方式来与远程服务器进行交互。 #### 三...

    后台模拟发送GET和POST请求

    5. 执行请求:使用HttpClient的`execute()`方法发送请求。 ```java CloseableHttpResponse response = httpClient.execute(req); ``` 6. 处理响应:获取并解析服务器返回的响应,例如,获取状态码、响应头和响应体...

    HTTPClient

    HttpClient提供了几种方式来实现这一功能。 **3.2 中止GET请求** 如果发送的是GET请求,可以使用`AbortableHttpRequest`接口来取消请求: ```java AbortableHttpRequest abortableRequest = new HttpGet(...

    Httpclient依赖包

    7. **请求/响应拦截器**:HttpClient提供了请求和响应拦截器接口,允许在请求发送前和响应接收后进行自定义处理,如添加额外的请求头、修改请求内容、处理响应状态等。 8. **HTTP协议兼容性**:HttpClient遵循...

    HttpClient 卡死 response 为 null - 帐前卒 - CSDN1

    然而,当`response`对象为`null`时,这可能表明以下几种情况: 1. **连接问题**:网络连接未建立或在请求过程中断开。检查网络配置,确保服务器地址正确且可访问。 2. **超时设置**:如果请求超时,`HttpClient`...

    HttpClient类所需jar包

    在使用HttpClient进行网络请求时,通常需要以下几种核心的JAR包: 1. **httpclient.jar**:这是HttpClient的主要库,包含了所有基本的HTTP请求和响应处理功能。这个JAR包提供了HttpClient的核心类,如`...

    httpClient.zip

    现在,我们将深入探讨HttpClient的基本使用、GET和POST请求的实现,以及与JSON数据交互的相关知识。 首先,HttpClient的使用通常包括以下几个步骤: 1. 创建HttpClient实例:HttpClient是执行HTTP请求的核心对象,...

    HttpClient.class.php

    8. **HTTP头部信息**:发送请求时,可能需要设置HTTP头,如Content-Type(定义数据类型)、Authorization(用于认证)等,`HttpClient`类可能提供方法来设置这些信息。 9. **SSL/TLS支持**:对于HTTPS请求,类需要...

    httpclient 获取技术博客列表

    例如,开发者可能首先使用HttpClient向这些页面发送请求,然后解析返回的HTML,提取出博客列表、文章标题、链接等信息。在实际应用中,这可能涉及DOM解析、正则表达式匹配或者使用像Jsoup这样的库来解析HTML内容。 ...

    httpclient-4.5.3 api 中文版

    10. **拦截器**:HttpClient 允许使用`HttpRequestInterceptor`和`HttpResponseInterceptor`来在请求发送前或响应接收后添加自定义逻辑,这对于日志记录、请求修改或特殊处理非常有用。 HttpClient 4.5.3的文档...

    httpclient4.3.3

    - **异步操作**:支持异步请求,允许开发者在发送请求后立即执行其他任务,通过回调机制处理响应,提高了程序的并发性能。 - **自定义策略**:允许开发者根据实际需求定制重试策略、超时策略以及连接策略,确保...

    C# httpclient demo

    在实际使用中,开发者可以学习到如何创建HttpClient实例、设置请求头、发送请求并处理响应等内容。这个示例代码还可能包含错误处理和异步编程的示例,以确保网络请求不会阻塞应用的其他部分。对于WP8开发者而言,...

    爬虫:httpclient+jsoup

    - 发送请求并获取HttpResponse,如`HttpResponse response = httpClient.execute(httpGet);` - 从HttpResponse中获取HttpEntity,然后可以读取响应内容,如`String content = EntityUtils.toString(response....

Global site tag (gtag.js) - Google Analytics