文档章节

Java 获得网页源代码和模拟浏览器请求

大道至精
 大道至精
发布于 2014/11/06 10:23
字数 227
阅读 1373
收藏 3

直接附上代码,copy直接运行

package com.sh.Browser;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class GetPageContent {
 /**
  * @param args
  */
 public static void main(String[] args) {
  try {
   //http://api.map.baidu.com/geocoder/v2/?ak=KQiPaEKtT6xAoRKMbMLvBZze&callback=renderReverse&location=31.249161,121.487899&output=json&pois=1&qq-pf-to=pcqq.c2c
    URL u1=new URL("http://api.map.baidu.com/location/ip?ak=E4805d16520de693a3fe707cdc962045&ip=202.198.16.3&coor=bd09ll");
   
    
    URL url = new URL("http://api.map.baidu.com/location/ip?ak=E4805d16520de693a3fe707cdc962045&ip=183.56.167.29&coor=bd09ll");
    
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    InputStream in = null;
    in = url.openStream();
    String content = pipe(in,"utf-8");
    
    System.out.println(content);
    
    
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 static String pipe(InputStream in,String charset) throws IOException {
        StringBuffer s = new StringBuffer();
        if(charset==null||"".equals(charset)){
         charset="utf-8";
        }
        String rLine = null;
        BufferedReader bReader = new BufferedReader(new InputStreamReader(in,charset));
        PrintWriter pw = null;
        
  FileOutputStream fo = new FileOutputStream("../index.html");
  OutputStreamWriter writer = new OutputStreamWriter(fo, "utf-8");
  pw = new PrintWriter(writer);
        while ( (rLine = bReader.readLine()) != null) {
            String tmp_rLine = rLine;
            int str_len = tmp_rLine.length();
            if (str_len > 0) {
              s.append(tmp_rLine);
              pw.println(tmp_rLine);
              pw.flush();
            }
            tmp_rLine = null;
       }
        in.close();
        pw.close();
        return s.toString();
 }
}

© 著作权归作者所有

共有 人打赏支持
大道至精
粉丝 49
博文 53
码字总数 58567
作品 0
黄浦
程序员
关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享

1、原理简介: Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据。同类的工具还有h...

大数据之路
2013/08/08
0
0
Jsoup模拟登录带验证码的教务系统(原理详解)

一:原理 客户端访问服务器,服务器通过Session对象记录会话,服务器可以指定一个唯一的session ID作为cookie来代表每个客户端,用来识别这个客户端接下来的请求。 我们通过Chrome浏览器进行...

巅峰小学生
02/09
0
0
使用nGrinder执行socket.io应用负载测试

原文 : Using nGrinder to perform load test for a socket.io app by Mavlarn nGrinder不仅可以用来测试通常的Web应用程序,也可以用于JDBC,Web服务或者像socket.io所提供的这样的实时应用...

nGrinderChina
2013/03/15
0
0
smart-doc

smart-doc是一个java restful api文档生成工具,smart-doc颠覆了传统类似swagger这种大量采用注解侵入来生成文档的实现方法。smart-doc完全基于接口源码分析来生成接口文档,完全做到零注解侵...

上官胡闹
08/23
0
0
1.1 java语言的发展简史

java语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作,最后产生的划时代产品,从某个角度耐看,java语言的诞生完全是一种误会。 1900年年末,Sun公司预料嵌入式系统将在未来家用电器...

Gooiem
2015/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么Java大神,都在看Spring Boot和Spring Cloud的书?

如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的书籍,那么,你今天就来对地方了。 本文,我们将讨论一些学习Spring Boot和Spring ...

Java小铺
18分钟前
6
0
springboot logback日志配置

springboot 如果不使用外部tomcat的话,日志是需要自己配置的,不然的话就只有控制台的日志,但是日志又是我们在项目上了生产环境,出问题时,检查问题的唯一途径,所以我们要配置详细的日志...

曾大大胖
19分钟前
2
0
Linux服务器集体篡改时间的方法

Red Hat 虚拟化课程RH318,中小型公司使用的话,感觉可以匹敌OpenStack。手头上有一个VMware的映像,RHEV 3.5版的,只能把系统时间调整到2016年才能使用。Red Hat的RHEV已经更新到4.1版,不过...

大别阿郎
19分钟前
1
0
Tomcat启动异常:java.lang.ClassNotFoundException

警告: Name = mysqlDataSource Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "100" for "maxActive" property, wh......

hengbao5
20分钟前
1
0
GO错误的一些处理(defer,recover,panic)

package main import("fmt""errors")func main() {num := 10fmt.Printf("num的类型%T, num的值%v, num的地址%v\n", num, num, &num)num2 := new(int) //返回一个指针//num...

汤汤圆圆
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部