zoukankan      html  css  js  c++  java
  • 有强大的cURL,忘掉httpclient的吧!

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

    安装cURL 

    Java代码  收藏代码
    1. yum install curl curl-devle  



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

    配置和编译java-libcurl 

    Java代码  收藏代码
    1. gunzip curl-java-0.2.2.tar.gz  
    2. tar xvf curl-java-0.2.2.tar  
    3. cd curl-java-0.2.2  
    4. 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中的源文件中有 

    Java代码  收藏代码
    1. try {  
    2.    // Loading up the shared JNI  
    3.    System.loadLibrary("javacurl");  
    4.  } catch (Exception e) {  
    5.    e.printStackTrace();  
    6.  }  



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

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

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

    如果用ruby,python或者perl的话,也是只需安装他们的libcurl绑定模块即可,然后在你的世界畅游吧。

    http://lovejuan1314.iteye.com/blog/290461

  • 相关阅读:
    ALLTOALL在线格式转换
    navicat注册码(亲测可用)
    抓包工具Fiddler设置(IOS)
    第三方设备云接入小米IOT平台
    snowboy进行语音唤醒,编译snowboy文件
    微信公众号开发之调起拍照或从手机相册中选图接口
    开放API网关实践
    分布式服务限流实战,已经为你排好坑了
    注解@PostConstruct与@PreDestroy使用讲解
    [转]布隆过滤器过时了,未来属于布谷鸟过滤器?
  • 原文地址:https://www.cnblogs.com/gisblogs/p/4200884.html
Copyright © 2011-2022 走看看