Java Servlet过滤器能否捕获来自同一主机的URL的响应?
好的,我们有一个具有以下域的web应用程序:Java Servlet过滤器能否捕获来自同一主机的URL的响应?,java,servlets,Java,Servlets,好的,我们有一个具有以下域的web应用程序: mydomain.com/#article;articleID=1 现在我们有了一个servlet过滤器mydomain.com/MyFilter public class CrawlServlet implements Filter{ @Override public void doFilter(ServletRequest request, ServletResponse response, Filter
mydomain.com/#article;articleID=1
现在我们有了一个servlet过滤器mydomain.com/MyFilter
public class CrawlServlet implements Filter{
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest httpRequest = (HttpServletRequest) request;
String fullURLQueryString = getFullURL(httpRequest);
// here we can read mydomain.com/#article;articleID=1
// if we open this mydomain.com/#article;articleID=1 we can see the article data that was taken from DB
// can we somehow capture that article data?
}
}
我们能做到这一点吗
我想这样做,因为我想向机器人爬虫显示数据,以便为我的页面编制索引。是,使用
URL
和URLConnection
:
URL url = new URL(fullURLQueryString);
URLConnection connection = url.openConnection();
InputStream in = connection.getInputStream();
然后从中的
中读取页面,我尝试了,它只显示html代码,但我的文章数据嵌入到javascript中,因此我看不到它。我们需要读取响应的解决方案&因此我们可以捕获从服务器调用的数据