zoukankan      html  css  js  c++  java
  • Android 使用三种方式获取网页(通过Post,Get进行表单的提交)

    在这里把三种获取网页内容的信息进行了综合,在前面已经对通过表单提交上传文件进行了处理,现在把这三种方式进行了综合,放到一块,帮助大家进行一个比较,下面为三种方式 的部分代码:

    一共三个函数,都可以直接调用,但是在访问网络的时候,记得要加上访问权限

    代码
    // 直接获取信息
    void DirectInfo() throws IOException {

    URL url
    = new URL(SRC);

    HttpURLConnection httpConn
    = (HttpURLConnection) url.openConnection();

    InputStreamReader inStreamReader
    = new InputStreamReader(httpConn
    .getInputStream());

    BufferedReader bufReader
    = new BufferedReader(inStreamReader);

    String line
    = "";
    String Date
    = "OK";
    while ((line = bufReader.readLine()) != null) {
    Date
    += line + "\n";
    }

    edit1.setText(Date);

    }

    // get方式获取信息
    void getInfo() throws IOException {
    // 将上面使用的方法直接修改一下即可。

    URL url
    = new URL(SRC+"/default.aspx?NAME="
    + URLEncoder.encode("abc", "utf-8"));
    HttpURLConnection httpconn
    = (HttpURLConnection) url.openConnection();

    InputStreamReader inputReader
    = new InputStreamReader(httpconn
    .getInputStream());

    BufferedReader bufReader
    = new BufferedReader(inputReader);

    String line
    = "";
    String Date
    = "";

    while ((line = bufReader.readLine()) != null) {
    Date
    += line;
    }

    edit1.setText(Date);

    }

    // Post方式获取信息
    void postInfo() throws MalformedURLException, IOException {
    // Post 方法比Get方法需要设置的参数更多

    HttpURLConnection httpconn
    = (HttpURLConnection) new URL(SRC)
    .openConnection();
    // post 方式,输入输出需要设置为true
    httpconn.setDoInput(true);
    httpconn.setDoOutput(
    true);
    httpconn.setRequestMethod(
    "POST"); // 设置为Post方式,默认为get方式
    httpconn.setUseCaches(false); // 不使用缓存
    httpconn.setInstanceFollowRedirects(true); // 重定向
    httpconn.setRequestProperty("Content-type",
    "Application/x-www-form-urlencoded"); // 设置连接 的Content-type类型为:
    // application/x-www-form-urlencoded
    httpconn.connect(); //连接

    DataOutputStream out
    = new DataOutputStream(httpconn.getOutputStream()); //声明数据写入流

    String content
    = "NAME="+URLEncoder.encode("fly_binbin", "gb2312");

    out.writeBytes(content);

    out.flush();
    out.close();

    BufferedReader reader
    = new BufferedReader(new InputStreamReader(httpconn.getInputStream()));

    String line
    = "";
    String resultDate
    = "";
    while((line=reader.readLine())!=null)
    {
    resultDate
    += line;
    }
    edit1.setText(resultDate);

    }

    网址的话,可以自己做一个测试服务器。我这个测试服务器是我自己写的,进行测试用的,用Asp.net写的,用其它的方法写的结果是一样的。包括使用Web服务结果也是一样的!

    作者:码农豆豆
    微信公众号:
    出处:http://www.cnblogs.com/fly_binbin/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Web大规模高并发请求和抢购的解决方案
    常用的排序算法
    Kafka中的消息是否会丢失和重复消费(转)
    excel操作之poi-ooxml
    spring-boot-configuration-processor 是干啥用的
    递归和尾递归的区别和原理(转)
    kafka接口文档和kafka教程
    quartz (从原理到应用)详解篇(转)
    Elastic-Job开发指南(转)
    SimpleDateFormat线程不安全及解决办法(转)
  • 原文地址:https://www.cnblogs.com/fly_binbin/p/1910535.html
Copyright © 2011-2022 走看看