- 浏览: 2473369 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
你好, 根据机器码计算注册码的代码是在哪个包下的哪个类了.
APDPlat中的机器码生成机制 -
masuweng:
我的那个项目跑起来为什么503了
APDPlat中的机器码生成机制 -
masuweng:
APDPlat中的机器码生成机制 -
liutaochn:
可以用,thanks
Cygwin运行nutch报错:Failed to set permissions of path -
qbuer:
The Google Web Search API is no ...
使用Java调用谷歌搜索
文章列表
Tomcat自身带的后台管理程序是需要用户登录的,这样的网站如何用Nutch来爬呢?Nutch可以处理Http authentication(BASIC, DIGEST)这种稍显简单的认证,对于普遍流行的用户自定义Form表单以Post或Get方式提交数据认证的情况,Nutch就无能为力了,就更不用说复杂验证码的认证方式了。
下面用一个简单的例子说明如何配置Nutch,使其能爬需要Http authentication(BASIC, DIGEST)的站点。
1、修改Tomcat配置文件conf/tomcat-users.xml,增加如下配置然后重启,一个用户即可访问所有资源: ...
爬虫与反爬虫就好像是安全领域的破解与反破解一样,相互矛盾,相互克制,同时也相互促进。
网站的构建技术从简单的静态网站发展到动态网站,信息的传递从用户单向接收发展到双向交互,内容的产生从站长集中生成发展到全民参与生成。
Web技术的发展对网络爬虫构成了极大的挑战,我们以Nutch为例来说明难在哪里:
1、静态网站(简单)
2、动态网站(无陷阱)(难)
3、动态网站(有陷阱)(非常难)
对于静态网站,页面数量有限,无论页面之间如何构造链接,无论页面内容是什么,都能在一个有限的时间内抓取完毕。对于静态网站来说,我们假设网站无陷阱(不会有程序来动态生成无穷无尽的静 ...
当我们配置Nutch抓取 http://yangshangchuan.iteye.com 的时候,抓取的所有页面内容均为:您的访问请求被拒绝 ...... 这是最简单的反爬虫策略(该策略简单地读取HTTP请求头User-Agent的值来判断是人(浏览器)还是机器爬虫),我们只需要简单地配置Nutch来模拟浏览器(simulate web browser)就可以绕过这种限制。
在nutch-default.xml中有5项配置是和User-Agent相关的:
<property>
<name>http.agent.description</na ...
报错信息:fetch of http://szs.mof.gov.cn/zhengwuxinxi/zhengcefabu/201402/t20140224_1046354.html failed with: java.io.IOException: unzipBestEffort returned null
完整的报错信息为:
2014-03-12 16:48:38,031 ERROR http.Http - Failed to get protocol output
java.io.IOException: unzipBestEffort returned null
a ...
互联网时代,安全是永恒的主题,威胁无处不在,哪怕是在企业内网。
APDPlat充分考虑到了安全的问题:
首先,在浏览器中对用户密码加入复杂字符({用户信息})之后进行加密(Secure Hash Algorithm,SHA-512,as defined in FIPS 180-2),在服务器端加入用户名和复杂字符之后再次加密,提高破解复杂度;
其次,在浏览器和服务器之间采用安全通道(HTTPS)传输用户信息,避免信息泄露。
再次,安全和易用相互矛盾,不同的应用需要的平衡点不一样,APDPlat充分考虑到了这个问题,提供了可配置的用户密码安全策略,以满足不同的需 ...
Java的自动内存管理机制(automatic storage management system known as a garbage collector)省却了很多编码工作,大大地提高了Java的生产力,而且JVM的性能也越来越好,特别是G1的出现,改善了垃圾回收中stop the world的状况。
也许很多人都没有考虑过这个问题,new一个Object对象到底占用多少内存呢( Object obj = new Object() )?
这里很明确的是obj是一个指向对象的引用(refe
使用用户名密码登录以获取cookies,随后使用获得的cookies就可以进行诸如发博文等任意操作了。
import java.util.HashMap;
import java.util.Map;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
/**
* CSDN发博文
* @author 杨尚川
*/
public class CsdnBlo ...
APDPlat提供了机器绑定的功能,对于不同的机器会生成不同的机器码,必须要对生成的机器码进行计算获得注册码,注册码验证成功之后系统才能正常运行。
本文主要介绍APDPlat如何生成机器码。
首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换:
/**
*生成机器码的接口,不同平台有不同实现
* @author 杨尚川
*/
public interface SequenceService {
/**
* 获取机器码
* @return 机器码
*/
public String ge ...
APDPlat如何自动建库建表并初始化数据?
- 博客分类:
- 开发平台
APDPlat共支持10种数据库:DB2、DERBY、H2、HSQL、INFORMIX、MYSQL、ORACLE、POSTGRESQL、SQL_SERVER、SYBASE。
数据库的默认配置信息在文件APDPlat_Core/src/main/resources/org/apdplat/db.properties中定义,用户可以根据自己的选择,在APDPlat_Web/src/main/resources/db.local.properties配置文件中覆盖默认配置。
1、如何指定使用哪一种数据库呢?
jpa.database=MYSQL
jpa.dat ...
APDPlat接管了Spring的启动关闭权,为各种运行其上的开源框架和类库的无缝集成提供了支持。
当然,大家都知道,一个JAVA EE Web应用的入口点是web.xml,APDPlat当然也不例外,我们看看APDPlat是如何接管Spring的启动关闭权的:
<listener>
<description>经过定制的spring监听器</description>
<listener-class>org.apdplat.platform.spring.APDPlatContextLoaderListener</l ...
APDPlat充分利用Compass的OSEM和ORM integration特性,提供了简单易用且功能强大的内置搜索特性。
APDPlat的内置搜索,在设计简洁优雅的同时,还具备了强大的实时搜索能力,用户只需用注解的方式在模型中指定需要搜索哪些字段(还可在模型之间进行关联搜索)就获得了搜索能力,而不用编写任何代码。平台自动处理索引维护、查询解析、结果高亮等支撑功能。
然而APDPlat的内置搜索只能在单机上面使用,不支持分布式,只能用于中小规模的场景。为了支持大规模的分布式搜索和实时分析,APDPlat除了可以选择Compass的进化版ElasticSearch外(
APDPlat充分利用Compass的OSEM和ORM integration特性,提供了简单易用且功能强大的内置搜索特性。
APDPlat的内置搜索,在设计简洁优雅的同时,还具备了强大的实时搜索能力,用户只需用注解的方式在模型中指定需要搜索哪些字段(还可在模型之间进行关联搜索)就获得了搜索能力,而不用编写任何代码。平台自动处理索引维护、查询解析、结果高亮等支撑功能。
然而APDPlat的内置搜索只能在单机上面使用,不支持分布式,只能用于中小规模的场景。为了支持大规模的分布式搜索和实时分析,APDPlat选用Compass的进化版ElasticSearch (Compass和 ...
APDPlat在数据库备份成功之后,会调用一个系统扩展点,用户可以方便地编写自己的包含特定业务逻辑的插件,并可配置启用哪些插件。本文以将备份文件上传到FTP服务器以实现异地容灾为例子,来说明如何编写自己的插件并配置使其生效。
1、如何编写?
我们先看看系统扩展点,即BackupFileSender接口:
/**
* 备份文件发送器
* 将最新的备份文件发送到其他机器,防止服务器故障丢失数据
* @author 杨尚川
*/
public interface BackupFileSender {
public void send(File f ...
APDPlat中的Model抽象类是所有领域对象的基类,对领域模型的CRUD操作都会触发事件,监听这些事件是实现实时搜索、业务审计、权限验证、模型预处理等功能的基础。
我们先看看Model的设计要点:
1、模型的自描述机制。
...
Posted by: Shay Banon on 07/07/2010
Its been a long time since I blogged about Compass, and I guess its about time to discuss Compass, ElasticSearch, and how they relate to one another.
I started Compass six years ago with a real belief that search is something that any application s ...