java curl
2016-06-18 19:19
211 查看
这段时间想做一个网页采集的程序,由于一网站采用了防采集的办法,我的httpclient总是在登录后无法获取到我想要过去的链接。在无数次的跟踪过后发现原来人家给返回的是javascript拼成的页面,而且其中包含了frameset,期间嵌套好多frame。由于httpclient的getResonseBody仅仅只能得到服务器端而不能将它进一步做解析和执行。期间到时尝试想进一步将返回的js代码模拟浏览器执行,但是,突然想起php的cURL
模块很是强大,它就可以直接拿回来。所以就想是否尝试cURL是否会很简单哪?
安装cURL
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
yum install curl curl-devle
下载libcurl的java绑定
http://curl.haxx.se/libcurl/java/
配置和编译java-libcurl
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
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中的源文件中有
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
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绑定模块即可,然后在你的世界畅游吧。
模块很是强大,它就可以直接拿回来。所以就想是否尝试cURL是否会很简单哪?
安装cURL
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
yum install curl curl-devle
下载libcurl的java绑定
http://curl.haxx.se/libcurl/java/
配置和编译java-libcurl
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
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中的源文件中有
Java代码
![](http://lovejuan1314.iteye.com/images/icon_star.png)
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绑定模块即可,然后在你的世界畅游吧。
相关文章推荐
- java环境变量配置方法
- 【eclipse】相关插件
- JAVA字符串格式化-String.format()的使用
- JAVA中的format
- jvm性能分析工具之-- Eclipse Memory Analyzer tool(MAT)
- Java魔法堂:String.format详解
- 深入理解Java:注解(Annotation)--注解处理器
- 深入理解Java:注解(Annotation)自定义注解入门
- 深入理解Java:注解(Annotation)基本概念
- Java注解教程及自定义注解
- Java中的注解是如何工作的?
- java日期格式大全 format SimpleDateFormat
- Java文档注释【自制API】
- 解惑java下dao,model,service,impl,util包名含义
- maven下Struts2+Spring+mybatis+sqserver+c3p0 pom.xml配置
- Java的Hibernate框架中的双向主键关联与双向外键关联
- 《java并发编程的艺术》读书笔记-第三章Java内存模型(二)
- Java 中文字符串长度问题
- [Java] JVM 在执行 main 方法前的行为
- Eclipse Debug不为人知的秘密