public static byte[] GetHttpResponse(String url, String params, boolean isPost) {
DefaultHttpClient hClient = new DefaultHttpClient();
try {
String uri = url + "?" + params;
logger.info("request to :" + uri);
HttpParams p = hClient.getParams();
p.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
p.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
p.setParameter(CoreProtocolPNames.USER_AGENT, "Android App");
//代理设置
HttpHost proxy = new HttpHost("proxy.aus.hp.com", 8080);
p.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
//....
HttpResponse response = null;
if (isPost) {
HttpPost post = new HttpPost(url);
StringEntity se = new StringEntity(params, "utf-8");
se.setContentType("application/x-www-form-urlencoded");
post.setEntity(se);
response = hClient.execute(post);
} else {
HttpGet get = new HttpGet(uri);
response = hClient.execute(get);
}
int returnCode = response.getStatusLine().getStatusCode();
if (returnCode != 200) {
throw new Exception("访问失败 httpcode:" + returnCode);
}
return EntityUtils.toByteArray(response.getEntity());
} catch (Exception ex) {
logger.error(ex, "访问失败");
throw new Exception("访问失败");
} finally {
hClient.getConnectionManager().shutdown();
}
}
分享到:
相关推荐
这个RAR文件包含的"说明.txt"可能是详细的操作指南,而"根据URL获取因特网网页源文件"可能是一个Java源代码示例,用于演示如何实现这一功能。以下是对这个主题的详细讲解: 1. **网络编程基础**: 在Java中,进行...
本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...
Lotus Domino Java 代理获取传递值 JSON Lotus Domino 是一种基于Notes技术的服务器端应用程序, Lotus Domino Java 代理是指在 Domino 服务器上运行的 Java 代理程序,可以用来处理用户请求、提供数据服务等。今天...
### 通过Java获取土豆视频的关键知识点 #### 一、项目背景与目的 在当前互联网环境中,视频内容成为了信息传播的重要载体之一。对于开发者而言,能够有效地抓取和处理这些视频内容变得尤为重要。本示例主要介绍了...
Java网络爬虫是一种用于自动化获取网页信息的程序,它能够模拟浏览器的行为,通过发送HTTP请求并接收响应来抓取网页内容。在这个特定的场景中,爬虫需要处理登录过程,以便能够携带有效的COOKIE信息来访问受保护的...
4. **获取端点实现**:通过服务实例的`getPort`方法,可以获取到服务的具体实现,通常是一个实现了服务接口的代理类。 ```java HelloWorldPortType port = service.getPort(HelloWorldPortType.class); ``` 5. **...
要成功爬取数据,我们需要设计合理的爬虫策略,比如使用代理IP池、随机User-Agent、设置请求间隔等。 7. **数据存储**:爬取到的数据需要进行存储,可以选择文件系统、数据库(如MySQL、MongoDB)、NoSQL存储(如...
通过URL访问时,服务器会代理请求,实现图片的动态获取。 9. **CDN(Content Delivery Network)**: 使用CDN服务可以提高图片加载速度,但同时需要处理好权限问题。CDN节点可能缓存了无权限用户可以直接访问的图片...
Tomcat作为Java应用服务器,也支持JMX接口,使得我们可以通过JMX获取其内部状态、配置和性能数据。 ManagementFactory类是Java内置的一个实用工具类,提供了访问各种管理器的静态方法,例如ThreadMXBean、...
在程序中动态设置 HTTP 代理更为灵活,适用于需要在运行时根据情况改变代理设置的场景。示例代码如下: ```java // 设置 HTTP 代理 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy....
在IT行业中,网络爬虫是数据获取的重要工具,而Java作为一种强大的编程语言,常被用于构建高效的爬虫系统。本文将深入探讨如何使用Java结合Jsoup库来实现代理IP的爬取,以突破IP访问限制,实现动态IP代理。 首先,...
这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对...
总之,Java网络爬虫是一个涵盖HTTP通信、HTML解析、数据提取等多个领域的技术集合,通过不断学习和实践,我们可以构建出强大的数据获取工具。对于“万方数据抓取”这样的项目,理解并应用上述知识点将使你能够有效地...
这个压缩包“Java获取MQ连接数的Demo.zip”提供了一个简单的Java示例,用于展示如何通过编程方式获取RabbitMQ服务器的连接数。以下是对这个Demo的详细解释: 首先,为了与RabbitMQ交互,我们需要引入RabbitMQ的Java...
这可以通过服务的URL访问,或者通过工具如`svcutil.exe`(在.NET环境中)或JAX-WS的`wsimport`工具(在Java环境中)获取。元数据描述了服务的接口、操作和消息格式。在Java中,可以使用Apache CXF或gson-jaxws等库...
总之,Java实现的代理服务器是通过Java的Socket编程接口实现的,它能帮助我们更好地理解和实践代理服务器的工作原理。通过分析`HttpProxy.java`和`SubHttpProxy.java`的代码,我们可以深入学习网络编程和代理服务器...
在Java编程语言中,HTTP(超文本传输协议)是一种用于在Web上发送和接收数据的主要方法。本知识点主要探讨如何...在实际项目中,根据需求,可能还需要处理其他复杂情况,例如cookies管理、代理设置、用户代理模拟等。
- `java.net.URLConnection` 是连接到URL所代表的网络资源的抽象类,通过其子类如`HttpURLConnection`,可以进行HTTP请求并获取响应。 2. **HTTP请求** - Java的`HttpURLConnection` 类是处理HTTP协议的主要工具...
通过Java.net包中的URL类,开发者可以创建并操作URL对象,从而轻松实现对网络资源的访问和操作。 1. **URL对象的创建** - `URL`类提供了多种构造方法来创建URL对象,以适应不同的URL格式。例如,可以通过字符串...
在本项目中,我们主要探讨的是如何利用Java和Selenium库来实现对“房天下”和“链家”两个房地产网站的小区数据爬取。这个项目结合了多线程和代理IP的技术,以提高爬虫的效率和规避可能的反爬策略。下面将详细介绍这...