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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    书签快捷键0
    msxml3.dll 执行页内操作时的错误
    DrawGrid DrawFocusRect
    RAD XE8
    Richview 首页 奇偶页 不同页眉页脚
    改变画布大小
    c# 数据集调试工具插件
    数据库连接补丁 驱动
    怎么关闭百度推广
    被封的著名网站
  • 原文地址:https://www.cnblogs.com/fly_binbin/p/1910535.html
Copyright © 2011-2022 走看看