本实例采用HttpClient技术,通过Json处理数据,实例代码:
发送方发送并接收数据:
public static JSONObject postHttpClient(String url,JSONObject json) throws Exception{ //创建默认的 HttpClient 实例 HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); JSONObject response = null; try { StringEntity s = new StringEntity(json.toString()); s.setContentEncoding("UTF-8"); s.setContentType("application/json"); httpPost.setEntity(s); System.out.println("execurting request:" + httpPost.getURI()); HttpResponse httpResponse = null; httpResponse = httpClient.execute(httpPost); System.out.println(httpResponse.getStatusLine().getStatusCode()); //接收数据 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = httpResponse.getEntity(); String charset = EntityUtils.getContentCharSet(entity); String jsonStr = ""; BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(),charset)); String temp = reader.readLine(); while(temp!=null){ jsonStr+=temp; temp = reader.readLine(); } response = JSONObject.fromObject(jsonStr); } } catch (ClientProtocolException e) { e.printStackTrace(); log.debug(e.getMessage()); } catch (UnsupportedEncodingException e) { e.printStackTrace(); log.debug(e.getMessage()); } catch (IOException e) { e.printStackTrace(); log.debug(e.getMessage()); } finally { //关闭连接,释放资源 httpClient.getConnectionManager().shutdown(); } return response; }
接收方接收数据并返回:
@SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StringBuffer sb = new StringBuffer(); String line = null; List<XxtsDomain> dataList = null; try { BufferedReader reader = request.getReader(); while ((line = reader.readLine()) != null){ sb.append(line); } JSONObject jsonObject = JSONObject.fromObject(sb.toString()); JSONArray array = jsonObject.getJSONArray("dataList"); dataList = JSONArray.toList(array, new XxtsDomain(), new JsonConfig()); for (XxtsDomain xxtsDomain: dataList) { if(postTsxxOne(xxtsDomain)){ xxtsDomain.setSendBool(true); }else{ xxtsDomain.setSendBool(false); } } } catch (Exception e) {} // 输出 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); XxtsAllDomain xxtsAll = new XxtsAllDomain(); xxtsAll.setDataList(dataList); JSONObject jsonList = JSONObject.fromObject(xxtsAll); out.println(jsonList.toString()); out.flush(); out.close(); }
json 部分可参考另一篇文章
相关推荐
在WPF(Windows Presentation Foundation)应用程序中,与Web API进行交互是常见的需求,尤其是在需要从服务器获取数据或发送用户操作到后端时。本教程将深入探讨如何利用HttpClient类在WPF应用中异步调用Web API,...
使用HttpClient访问网络数据的基本步骤如下: 1. **创建HttpClient实例**:首先,需要创建一个HttpClient对象,这将是发送请求的主体。可以设置连接池大小、超时时间等参数。 2. **构建HttpGet或HttpPost请求**:...
WinInet是微软提供的一个用于Internet访问的API,而WinHttp则是更现代且性能更高的接口,两者都可以用来实现HTTPClient的功能。 通过学习和理解这个HTTPClient项目,开发者不仅可以掌握MFC的应用,还可以深入理解...
在本案例中,WinForm应用是客户端,WebAPI是资源服务器,用户通过授权服务器获取访问令牌(Token),然后客户端(WinForm)使用该令牌来访问受保护的WebAPI资源。 接下来,我们将探讨如何在WinForm应用中实现这一...
在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...
总之,`httpclient`库提供了一种高效且灵活的方式来模拟用户登录并携带cookie访问其他网页,这对于自动化测试、数据抓取或需要保持登录状态的Web服务来说是非常有用的。正确地理解和使用这些技术,能够帮助开发者更...
这个对象允许我们访问响应的状态行,从而获取状态码。下面是一个简单的示例代码: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://example.com");...
在Web应用中,当用户登录后,服务器会为该用户创建一个session对象,并将用户的一些信息(如登录凭证)存储在session中。客户端通过一个称为session ID的唯一标识与服务器保持联系。每次请求时,客户端需要将这个ID...
本主题将深入探讨如何在这些客户端环境中利用HttpClient类来访问API,从而实现与远程服务器的数据交互。 HttpClient是.NET Framework 4.5及更高版本引入的一个强大工具,它为发送HTTP请求和接收响应提供了简洁、...
本主题聚焦于在Titanium中如何利用HttpClient访问REST服务,这是一种常见的移动应用与服务器间进行数据交换的方式。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议...
在IT行业中,OAuth2.0是一种广泛使用的授权框架,它允许第三方应用安全地访问资源所有者的受保护资源,而无需获取其凭据。HttpClient是Apache提供的一款强大的HTTP客户端库,常用于Java应用程序中发送网络请求。本文...
这个例子中,我们创建了一个`HttpClient`实例,然后用`GetMethod`对象指定要访问的URL。执行`executeMethod`方法发起请求,如果返回状态码为200(表示成功),则打印出响应体的内容。最后,调用`releaseConnection`...
Java访问WCF服务是跨平台...以上就是使用Java HttpClient访问WCF服务的基本知识,实际应用中可能需要根据具体服务接口和需求进行调整。文件"java4Wcf"可能包含完整的示例代码或更详细的步骤,建议结合该文件深入学习。
首先,理解SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息,特别适合于服务接口的远程调用。 Java访问.Net Webservice的过程大致分为以下步骤: 1. **创建SOAP请求**:首先,我们需要构建一个...
HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet Applications)和Web服务客户端的开发尤其有用。 HttpClient组件的主要特点和功能包括: 1. 实现了HTTP 1.0和1.1的...
这些问题通常需要根据具体的错误信息进行调试和解决,可能涉及到调整HttpClient的配置参数,或者处理特定的异常。 总的来说,HttpClient是Java Web爬虫开发中的重要工具,它提供了丰富的API和高度的定制性,使得...
内容包括了基本的 HttpClient 使用方法以及 SSL 访问的配置步骤。随着 HttpClient 版本的更新和功能的扩展,教程也将不断更新以涵盖更多高级特性和最佳实践。 总结:HttpClient 是 Java 开发者进行 HTTP 请求的重要...
这个压缩包包含了HttpClient 4.3版本所需的jar文件和其他依赖库,以确保能够正确运行基于HttpClient的Java应用。 在HttpClient 4.3中,主要知识点包括: 1. **基本概念**:HttpClient是一个客户端编程工具包,它...
- **页面抓取**:自动获取网页内容,用于数据分析或信息提取。 - **自动化测试**:模拟用户行为进行Web应用测试。 - **服务调用**:与远程服务交互,发送和接收数据。 - **文件上传/下载**:实现文件通过HTTP协议的...