专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
java
当前位置:首页 > 技术文档 > java >  > 
网络爬虫-User-Agent

网络爬虫-User-Agent
User-Agent 位于 用户请求头 Header中。不同的搜索引荐头信息是不同的,有的网站服务器可以下载访问日志里面可以看到头信息。以确定搜索引擎什么时候来抓取网页。也是SEO的一部分工作。

下例使用JSP 中 servlet 打印输出。
package test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Test extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        System.out.println(request.getHeader("User-Agent"));
    }

}
火狐3.6.12浏览器
显示:Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
IE8.0浏览器
显示:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Java URL 函数
URL url=new URL("http://localhost:8080/Test/test");
        URLConnection connection = url.openConnection();
        connection.setDoOutput(true);
        InputStream in=connection.getInputStream();
        BufferedReader reader=new BufferedReader(new InputStreamReader(in));
        String str="";
        while((str=reader.readLine())!=null)
        {
            System.out.println(str);
        }

显示:Java/1.6.0_21

PHP file_get_contents ()
echo file_get_contents("http://localhost:8080/Test/test");
显示:null


修改自己浏览器的User-Agent改成搜索引擎的不是很酷。
IE的改法:
\HKEY_LOCAL_MACHINE \Software \Micro
soft \Windows \CurrentVersion \Internet Settings \User Agent\
修改User-Agent 可能会导致,部分网站浏览器判断失效。造成网页浏览显示不正常。不建议修改。