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(); }
发表评论
-
manven构建spring+springmvc+mybaitis框架
2016-04-23 22:51 0最近要离职了,闲暇的时候想自己构建个项目,说干就干。 具体 ... -
有个内存溢出的问题请教啊!
2015-08-18 16:58 983public Map<String, Object ... -
六年JAVA兼职
2014-10-10 14:08 355我叫刘洋,JAVA开发做了六年多了,大大小小的项目做过很多 ... -
新手搭车maven
2014-04-29 15:50 59最近工作太繁忙,一直没有时间来充电。 偶然的一个机会 ... -
关于DB2日常使用中遇到的问题
2013-07-30 10:07 8501 经常需要用到在不drop表的前提下去修改表字段的数据 ... -
我还年轻,我渴望上路.
2012-12-02 09:19 72不知不觉快工作两年多了,最近玩的也比较多,是时候放下玩的心了, ... -
ijetty的应用开发
2012-11-30 16:29 3195最近使用ijetty开发了一 ... -
求助一个关于公式编辑器插件的问题。
2012-08-09 11:27 74附件是一个网页可用的公式编辑器插件。 总体上很符合我想找的 ... -
关于java优化的东东
2012-07-17 11:33 954最近的机器内存又爆满了,除了新增机器内存外,还应该好好revi ... -
struts2国际化文件配置
2012-07-16 14:51 12634struts2的国际化分三种情况:前台页面的国际化,Act ... -
web.xml常用标签命令详解
2012-06-13 14:14 5363web.xml文件是用来初始化配置信息:比如welcome页面 ... -
关于常用的一些linux下命令
2012-06-12 17:14 9071,linux 创建文件 mkdir XXX 创建目录 ... -
做java开发的困惑
2012-06-05 20:23 1034从事java开发也快两年了。 忽然很迷茫了。 也发现越来越 ... -
开发中用到过的UTIL类
2012-06-01 14:58 24291,加密的Util类 /* ============= ... -
build的那些东西
2012-05-30 16:01 1142<?xml version="1.0" ... -
项目数据库执行
2012-04-19 15:44 1393DBtool.java package com.zte ... -
静态页面拖拽实现代码
2012-04-01 17:18 1061静态拖拽行: <html> ... -
回忆 struts1/2
2012-04-01 17:14 1087struts1 与 struts2的对比。 action类 ...
相关推荐
要使用HttpClient发送POST请求,你需要以下几个步骤: 1. **导入依赖**:确保你的项目中包含了HttpClient的相关库。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
上述代码展示了HttpClient的基本结构,包括构造函数、GET和POST方法,以及私有的发送请求方法。`buildUrl`函数用于构建带参数的URL,`sendRequest`则利用cURL库发送HTTP请求,并返回响应的HTTP状态码和响应体。 ...
6. **执行请求**:使用HttpClient实例的`execute`方法发送请求,并获取`HttpResponse`。 7. **处理响应**:解析`HttpResponse`,获取状态码,读取响应体,可能需要使用`EntityUtils`类。 8. **关闭连接**:记得在...
解决这种错误有几种方法。第一种方法是直接在HttpClientHandler中挂接ServerCertificateCustomValidationCallback事件。这个事件委托在SSL证书验证过程中被调用,开发者可以在这里编写自定义的逻辑来处理证书验证。...
3. **发送请求**:使用send函数将构建好的请求头和请求体(对于POST请求)发送到服务器。 4. **接收响应**:服务器会返回一个HTTP响应,包括状态行、响应头和响应体。我们需要使用recv函数逐块接收这些数据,并处理...
在C++的实现中,你需要创建结构来存储这些头信息,并在发送请求时正确地编码它们。 6. **响应处理**:服务器返回的HTTP响应也包含状态行(如“HTTP/1.1 200 OK”)、响应头和响应体。你需要解析这些信息,以确定...
`HttpClient`是一种用于发送HTTP请求并接收HTTP响应的工具库。它为开发者提供了高级别的API来执行HTTP操作,如GET、POST等方法。在PHP中,`HttpClient`可以作为一种非常方便的方式来与远程服务器进行交互。 #### 三...
5. 执行请求:使用HttpClient的`execute()`方法发送请求。 ```java CloseableHttpResponse response = httpClient.execute(req); ``` 6. 处理响应:获取并解析服务器返回的响应,例如,获取状态码、响应头和响应体...
HttpClient提供了几种方式来实现这一功能。 **3.2 中止GET请求** 如果发送的是GET请求,可以使用`AbortableHttpRequest`接口来取消请求: ```java AbortableHttpRequest abortableRequest = new HttpGet(...
7. **请求/响应拦截器**:HttpClient提供了请求和响应拦截器接口,允许在请求发送前和响应接收后进行自定义处理,如添加额外的请求头、修改请求内容、处理响应状态等。 8. **HTTP协议兼容性**:HttpClient遵循...
然而,当`response`对象为`null`时,这可能表明以下几种情况: 1. **连接问题**:网络连接未建立或在请求过程中断开。检查网络配置,确保服务器地址正确且可访问。 2. **超时设置**:如果请求超时,`HttpClient`...
在使用HttpClient进行网络请求时,通常需要以下几种核心的JAR包: 1. **httpclient.jar**:这是HttpClient的主要库,包含了所有基本的HTTP请求和响应处理功能。这个JAR包提供了HttpClient的核心类,如`...
现在,我们将深入探讨HttpClient的基本使用、GET和POST请求的实现,以及与JSON数据交互的相关知识。 首先,HttpClient的使用通常包括以下几个步骤: 1. 创建HttpClient实例:HttpClient是执行HTTP请求的核心对象,...
8. **HTTP头部信息**:发送请求时,可能需要设置HTTP头,如Content-Type(定义数据类型)、Authorization(用于认证)等,`HttpClient`类可能提供方法来设置这些信息。 9. **SSL/TLS支持**:对于HTTPS请求,类需要...
例如,开发者可能首先使用HttpClient向这些页面发送请求,然后解析返回的HTML,提取出博客列表、文章标题、链接等信息。在实际应用中,这可能涉及DOM解析、正则表达式匹配或者使用像Jsoup这样的库来解析HTML内容。 ...
10. **拦截器**:HttpClient 允许使用`HttpRequestInterceptor`和`HttpResponseInterceptor`来在请求发送前或响应接收后添加自定义逻辑,这对于日志记录、请求修改或特殊处理非常有用。 HttpClient 4.5.3的文档...
- **异步操作**:支持异步请求,允许开发者在发送请求后立即执行其他任务,通过回调机制处理响应,提高了程序的并发性能。 - **自定义策略**:允许开发者根据实际需求定制重试策略、超时策略以及连接策略,确保...
在实际使用中,开发者可以学习到如何创建HttpClient实例、设置请求头、发送请求并处理响应等内容。这个示例代码还可能包含错误处理和异步编程的示例,以确保网络请求不会阻塞应用的其他部分。对于WP8开发者而言,...
- 发送请求并获取HttpResponse,如`HttpResponse response = httpClient.execute(httpGet);` - 从HttpResponse中获取HttpEntity,然后可以读取响应内容,如`String content = EntityUtils.toString(response....