`

httpClient 访问其他Web 获取信息

    博客分类:
  • java
 
阅读更多

本实例采用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应用程序中通过HttpClient调用Web API

    在WPF(Windows Presentation Foundation)应用程序中,与Web API进行交互是常见的需求,尤其是在需要从服务器获取数据或发送用户操作到后端时。本教程将深入探讨如何利用HttpClient类在WPF应用中异步调用Web API,...

    Http或HttpClient访问网路数据

    使用HttpClient访问网络数据的基本步骤如下: 1. **创建HttpClient实例**:首先,需要创建一个HttpClient对象,这将是发送请求的主体。可以设置连接池大小、超时时间等参数。 2. **构建HttpGet或HttpPost请求**:...

    HTTPClient(Web客户端)

    WinInet是微软提供的一个用于Internet访问的API,而WinHttp则是更现代且性能更高的接口,两者都可以用来实现HTTPClient的功能。 通过学习和理解这个HTTPClient项目,开发者不仅可以掌握MFC的应用,还可以深入理解...

    winform调用webapi获取Token授权案例,webapi使用oauth2.0权限控制

    在本案例中,WinForm应用是客户端,WebAPI是资源服务器,用户通过授权服务器获取访问令牌(Token),然后客户端(WinForm)使用该令牌来访问受保护的WebAPI资源。 接下来,我们将探讨如何在WinForm应用中实现这一...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    总之,`httpclient`库提供了一种高效且灵活的方式来模拟用户登录并携带cookie访问其他网页,这对于自动化测试、数据抓取或需要保持登录状态的Web服务来说是非常有用的。正确地理解和使用这些技术,能够帮助开发者更...

    HTTPClient

    这个对象允许我们访问响应的状态行,从而获取状态码。下面是一个简单的示例代码: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://example.com");...

    httpclient如何保持session会话模拟登录后的操作

    在Web应用中,当用户登录后,服务器会为该用户创建一个session对象,并将用户的一些信息(如登录凭证)存储在session中。客户端通过一个称为session ID的唯一标识与服务器保持联系。每次请求时,客户端需要将这个ID...

    Java爬虫Jsoup+httpclient获取动态生成的数据

    在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...

    C#客户端/WPF/WINFORM通过HttpClient访问API

    本主题将深入探讨如何在这些客户端环境中利用HttpClient类来访问API,从而实现与远程服务器的数据交互。 HttpClient是.NET Framework 4.5及更高版本引入的一个强大工具,它为发送HTTP请求和接收响应提供了简洁、...

    httpclient请求oauth服务器中的token

    在IT行业中,OAuth2.0是一种广泛使用的授权框架,它允许第三方应用安全地访问资源所有者的受保护资源,而无需获取其凭据。HttpClient是Apache提供的一款强大的HTTP客户端库,常用于Java应用程序中发送网络请求。本文...

    Titanium中Httpclient访问REST 服务

    本主题聚焦于在Titanium中如何利用HttpClient访问REST服务,这是一种常见的移动应用与服务器间进行数据交换的方式。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议...

    HttpClient3.1 学习整理

    这个例子中,我们创建了一个`HttpClient`实例,然后用`GetMethod`对象指定要访问的URL。执行`executeMethod`方法发起请求,如果返回状态码为200(表示成功),则打印出响应体的内容。最后,调用`releaseConnection`...

    java 访问 wcf 示例(使用的HttpClient)

    Java访问WCF服务是跨平台...以上就是使用Java HttpClient访问WCF服务的基本知识,实际应用中可能需要根据具体服务接口和需求进行调整。文件"java4Wcf"可能包含完整的示例代码或更详细的步骤,建议结合该文件深入学习。

    Java访问.Net Webservice 通过httpclient SOAP实现

    首先,理解SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息,特别适合于服务接口的远程调用。 Java访问.Net Webservice的过程大致分为以下步骤: 1. **创建SOAP请求**:首先,我们需要构建一个...

    HTTPClient组件的应用

    HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet Applications)和Web服务客户端的开发尤其有用。 HttpClient组件的主要特点和功能包括: 1. 实现了HTTP 1.0和1.1的...

    httpclientjar包

    这些问题通常需要根据具体的错误信息进行调试和解决,可能涉及到调整HttpClient的配置参数,或者处理特定的异常。 总的来说,HttpClient是Java Web爬虫开发中的重要工具,它提供了丰富的API和高度的定制性,使得...

    httpClient4.1入门教程.

    内容包括了基本的 HttpClient 使用方法以及 SSL 访问的配置步骤。随着 HttpClient 版本的更新和功能的扩展,教程也将不断更新以涵盖更多高级特性和最佳实践。 总结:HttpClient 是 Java 开发者进行 HTTP 请求的重要...

    HttpClient4.3需要的jar

    这个压缩包包含了HttpClient 4.3版本所需的jar文件和其他依赖库,以确保能够正确运行基于HttpClient的Java应用。 在HttpClient 4.3中,主要知识点包括: 1. **基本概念**:HttpClient是一个客户端编程工具包,它...

    HttpClient_学习整理.

    - **页面抓取**:自动获取网页内容,用于数据分析或信息提取。 - **自动化测试**:模拟用户行为进行Web应用测试。 - **服务调用**:与远程服务交互,发送和接收数据。 - **文件上传/下载**:实现文件通过HTTP协议的...

Global site tag (gtag.js) - Google Analytics