`
ttitfly
  • 浏览: 624001 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

httpclient DNS cache问题解决办法

阅读更多

the JVM will cache the dns information for me automatically after the first query

也就是说,httpclient去抓取每个url时,JVM都会自动cache住 这个url和对应的ip,并且是永远cache住,除非cache住的内容大于 JVM的限制 ,如果将来这个url(域名)更换了ip,httpclient会首先去JVM的cache里取,如果取到了。直接根据这个ip去抓取。

所以往往某个域名更换了IP,抓取结果都是604错误。

解决办法:

networkaddress.cache.ttl (default: -1)
    Specified in java.security to indicate the caching policy for successful
    name lookups from the name service. The value is specified as as integer
    to indicate the number of seconds to cache the successful lookup.

    A value of -1 indicates "cache forever".

所以只需在java代码里添加:

 

java 代码
  1. java.security.Security.setProperty("networkaddress.cache.ttl" , "0");   
分享到:
评论

相关推荐

    基于Smack4.1.x需要的额外第三方jar包

    在连接到Openfire服务器时,可能需要通过DNS查找服务器的IP地址,尤其是当服务器使用了SRV记录来指示XMPP服务的位置时。MiniDNS库可以帮助Smack快速、准确地解析这些DNS查询,确保连接到正确的服务器节点。 接着,`...

    fetcher:基本的http获取器

    fetcher basic http fetcher 利用HttpClient实现的HttpFetcher,提供httpget,httppost,httphead方法 添加了DnsCache以及html编码识别

    heritrix 中文API (自己整理) 网络爬虫

    - **Default Server Cache**:服务器默认缓存机制。 - **Heritrix Http Method Retry Handler**:处理HTTP方法的重试逻辑。 - **Heritrix Protocol Socket Factory**:创建协议套接字的工厂类。 - **Heritrix ...

    Apache Commons

    Apache Commons 是一个由Apache软件基金会维护的开源项目,它提供了大量的Java类库,这些类库旨在解决常见的编程任务,从而简化开发过程并提高代码的可重用性。这个项目已经发展成为Java开发者不可或缺的资源,因为...

    10-图解HTTP1

    - **发送请求示例**:通过HttpUrlConnection和HttpClient发送GET和POST请求的方法。 6. **HTTP与HTTPS的区别**: - **HTTPS**:基于SSL/TLS的安全HTTP协议,提供了数据加密、服务器身份验证、消息完整性检查。 -...

    hadoop中文文档

    - 作用:使用Apache的HttpClient库进行网络通信,获取页面内容。 3. **FTP提取器(Fetch FTP)**: - 功能:提取FTP协议下的文件和目录。 - 作用:支持基本的FTP操作,如文件下载等。 4. **统计提取器(Fetch ...

    java开源包1

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包11

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包2

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包3

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包6

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包5

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包10

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包4

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包8

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包7

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包9

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    java开源包101

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

    Java资源包01

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

Global site tag (gtag.js) - Google Analytics