`
lovejuan1314
  • 浏览: 342824 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有强大的cURL,忘掉httpclient的吧!

阅读更多
这段时间想做一个网页采集的程序,由于一网站采用了防采集的办法,我的httpclient总是在登录后无法获取到我想要过去的链接。在无数次的跟踪过后发现原来人家给返回的是javascript拼成的页面,而且其中包含了frameset,期间嵌套好多frame。由于httpclient的getResonseBody仅仅只能得到服务器端而不能将它进一步做解析和执行。期间到时尝试想进一步将返回的js代码模拟浏览器执行,但是,突然想起php的cURL 模块很是强大,它就可以直接拿回来。所以就想是否尝试cURL是否会很简单哪?

安装cURL
yum install curl curl-devle


下载libcurl的java绑定
http://curl.haxx.se/libcurl/java/

配置和编译java-libcurl
gunzip curl-java-0.2.2.tar.gz
tar xvf curl-java-0.2.2.tar
cd curl-java-0.2.2
make


注意,在linux下会生成相应的javacurl库文件以及一些需要用到的java类源文件。不过注意在编译的时候把MakeFile中的路径都配置到你安装的目录中哦。

windows下要编译成dll文件。在eclipse环境中要将dll文件放在WINDOWS/system32或者按照你的目录标准重写头文件,然后执行编译。否则会给出java.lang.UnsatisfiedLinkError的错误。

有关该错误,可见偶们强大的JEr的讨论,帖子在:
http://www.iteye.com/topic/58461?page=2

因为,在libcurl-java中的源文件中有
   try {
      // Loading up the shared JNI
      System.loadLibrary("javacurl");
    } catch (Exception e) {
      e.printStackTrace();
    }


相关windows环境下已经编译好的包下载地址在:
http://www.gknw.de/mirror/curl/curl_java/

然后,执行curl-java-0.2.2包中的test.java文件(可以将里面的url,改成你想登入的顽固网站)

你是否看见你它贴心的给你返回你想要的东西了呢?

如果用ruby,python或者perl的话,也是只需安装他们的libcurl绑定模块即可,然后在你的世界畅游吧。
7
3
分享到:
评论
9 楼 zuodang 2015-06-17  
我尝试在windows中搭环境编译 curl-java-master 始终无法成功,

望楼主发一份 http://www.gknw.de/mirror/curl/curl_java/ 链接中的东西,

不甚感激,谢谢!

seayyx698@126.com
8 楼 buildhappy 2015-01-02  
同求http://www.gknw.de/mirror/curl/curl_java/ 链接中的东西,谢谢
buildhappy512@163.com
7 楼 zgf_091 2013-10-18  
好早的文章,现在才看到,就是这个链接http://www.gknw.de/mirror/curl/curl_java/
不可用,不知道可不可以发给我windows环境下已经编译好的包
我的邮箱379988125@qq.com
谢谢!
6 楼 huchuhan 2013-06-17  
LZ应该贴个例子出来, 网上这方面的东西太少了.
5 楼 gaoyibin 2012-08-26  
楼主,网上的curl-java-0.2.2.tar都连接不了,下不下来,希望楼主大发慈悲,发一个给我吧,谢谢了。我的邮箱是:381527417@qq.com
真心希望楼主发个给我。。谢谢了。。
4 楼 mashimaro 2010-03-09  
你好 你上面的这个地址 相关windows环境下已经编译好的包下载地址在:
http://www.gknw.de/mirror/curl/curl_java/
链接无效 我想用JAVA做个找网页源码的程序 但是 网页里面有JS 需要解析 是否有包可以用 谢谢
3 楼 天机老人 2008-12-15  
哈哈采集的我要收藏的呀!
2 楼 SunShineBoy 2008-12-12  
感谢楼主分享!不懂的再来麻烦你!
1 楼 王者之剑 2008-12-11  
做采集的,还是自私点儿好

相关推荐

    BonusFaresClient_java_httpclient_Sold!_toplza_API_

    【标题】"BonusFaresClient_java_httpclient_Sold!_toplza_API_" 指的是一款基于Java编写的客户端应用程序,其主要功能是搜索Transaero航空公司的里程兑换机票。"Sold!"可能表示该应用专注于处理已售出的或者用里程...

    httpclient.jar包下载

    在使用httpclient.jar时,开发者需要注意版本兼容性,因为不同的HttpClient版本可能与不同的Java版本和服务器环境有不同的适配性。此外,理解HttpClient的配置和设置非常重要,这直接影响到其性能和功能。例如,正确...

    httpclient httpclient.jar

    HttpClient是Apache基金会开发的一个Java库,它为Java程序员提供了一个强大的、可信赖的HTTP协议客户端实现。这个库广泛用于从Web服务器获取数据、发送请求、处理响应等任务,尤其在爬虫、API交互、自动化测试等领域...

    httpclient-4.5.9.jar

    很好用的 java jar包,httpclient,需要的就抓紧下载吧!

    httpclient

    HttpClient使用连接池管理HTTP连接,这有助于提高性能。同时,需要注意HttpClient不是线程安全的,因此在多线程环境中,每个线程应有自己的HttpClient实例。 6. **处理重定向**: HttpClient默认会自动处理重定向...

    httpclient官网教程中文版

    Apache HttpClient 是一个强大的客户端HTTP传输类库,旨在为Java开发者提供一个高效、灵活且易于使用的HTTP客户端解决方案。它不仅支持基本的HTTP协议,还能满足更复杂的HTTP场景需求,例如重定向管理、身份验证、...

    HttpClientHelper 工具类

    综上所述,HttpClientHelper 是一个实用的HTTP客户端工具类,结合了HttpClient的强大功能和单例模式的高效管理,为C#开发者提供了便捷的网络请求解决方案,特别适合于爬虫开发和需要频繁进行HTTP通信的项目。

    httpclient4.2.1.zip

    本文将深入探讨HttpClient 4.2.1的核心特性和使用方法,帮助开发者更好地理解和应用这个强大的工具。 一、HttpClient简介 HttpClient是一个开放源码的Java库,由Apache软件基金会维护。它为Java程序员提供了一个...

    httpclient-4.5jar

    httpclient-4.5所需jar包,里面包含httpclient-4.5.jar等等10个必须的开发包。 1.commons-codec-1.9.jar 2.commons-logging-1.2.jar 3.fluent-hc-4.5.jar 4.httpclient-4.5.jar 5.httpclient-cache-4.5.jar 6....

    httpClient需要的jar包

    8. **Cookie管理**:HttpClient有一个内置的Cookie管理器,可以处理服务器返回的Cookie,并在后续请求中自动发送。 9. **拦截器**:HttpClient允许你插入请求和响应拦截器,可以在发送请求前或接收响应后进行自定义...

    HttpClient 3.x to HttpComponents HttpClient 4.x

    在HttpClient 3.x中,可以设置代理认证、状态管理和连接管理等操作,这些操作在4.x版本中有新的实现方式。程序员需要掌握如何使用`Credentials`和`AuthScope`来处理认证,以及如何配置代理服务器。 此外,迁移指南...

    httpclient 4.X版本下载有的带源码包

    2013-11-21 15:31 292,890 httpclient-4.0.2.jar 2017-12-20 12:08 351,132 httpclient-4.1.1.jar 2012-08-03 01:45 451,595 httpclient-4.1.2-sources.jar 2012-08-03 01:44 352,254 httpclient-4.1.2.jar 2012-08-...

    Httpclient依赖包

    HttpClient是Apache软件...总的来说,HttpClient是Java开发者在进行HTTP通信时的重要工具,它的强大功能和灵活性使其在各种项目中都有广泛的应用。正确理解和使用HttpClient,可以帮助我们编写出高效、可靠的网络应用。

    httpclient4.1.2 jar包

    HttpClient是Apache软件基金会的一个开源项目,提供了在Java环境中实现HTTP协议的强大工具。HttpClient 4.1.2是其一个重要的版本,针对HTTP通信提供了丰富的功能和优化,使得开发者能够高效、灵活地处理网络请求。...

    httpClient

    // 发生致命的异常,可能是协议不对或者返回的内容有问题 System.out.println("请检查输入的URL!"); e.printStackTrace(); } catch (IOException e) { // 发生网络异常 System.out.println("发生网络异常!"); ...

    httpclient-4.5.jar

    本文将深入探讨`httpclient-4.5.jar`这个包,以及它所依赖的相关jar包,帮助你更好地理解和使用这个强大的工具。 HTTPClient 4.5是Apache HttpClient项目的最新稳定版本,它提供了全面的HTTP协议支持,包括标准方法...

    httpclient4.5.zip

    《HttpClient 4.5:Java网络编程的强大工具》 HttpClient是一个在Java环境下广泛使用的开源库,主要用于执行HTTP请求。这个库由Apache软件基金会维护,并在版本4.5中提供了许多增强的功能和优化,使得它成为了Java...

    Java HttpClient 全部的jar包

    Java HttpClient 是一个强大的HTTP客户端库,它允许Java开发者在应用程序中发送HTTP请求并接收响应,广泛应用于Web服务的调用、API接口测试以及自动化脚本等场景。在Java项目中,使用HttpClient可以实现与Web服务器...

Global site tag (gtag.js) - Google Analytics