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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Attributes in C#
    asp.net C# 时间格式大全
    UVA 10518 How Many Calls?
    UVA 10303 How Many Trees?
    UVA 991 Safe Salutations
    UVA 10862 Connect the Cable Wires
    UVA 10417 Gift Exchanging
    UVA 10229 Modular Fibonacci
    UVA 10079 Pizza Cutting
    UVA 10334 Ray Through Glasses
  • 原文地址:https://www.cnblogs.com/fly_binbin/p/1910535.html
Copyright © 2011-2022 走看看