• Android通过GET方式获取互联网资源

    HTTP 通信中可以使用 GET 和 POST 方式,GET 方式可以获取静态页面,也可以把参数放在 URL 字符后面传递给服务器。

    例如地址“http://175.168.35.198:8080/android/getMessage.jsp?message=Helloworld”就是使用 GET 方式,在 URL 中,“?”后面直接加入参数 message 的信息,而 POST 方式的参数是放在 HTTP 请求中的,不会直接出现在 URL 中。

    与 GET 类似,POST 参数也是被 URL 编码的。然而,两者已经有了很多不同:

    POST GET
    服务器传送数据 服务器获取数据
    数据放置在 HTML HEADER 内提交 URL 提交数据,数据在 URL 中可以看到
    服务器端用 Request.Form 获取提交的数据 服务器端用 Request.QueryString 获取变量的值
    POST 不限制提交数据大小 提交的数据最多只能有 1024 字节
    参数不会显示在地址栏上 参数会显示在地址栏上

    由此,如果这些数据是中文数据而且是非敏感数据,那么使用 GET 方式;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 POST 方式为好。

    HttpURLConnection 默认的访问方式为 Get,以 POST 方式获取网页数据时需要使用 setRequestMethod 方法设置访问方式为 POST。

    在 TOMCAT 根目录下的“webapps\android”目录下建立 getMessage.jsp 文件作为网络服务资源文件,该文件代码如下:

    <% @page language="java" import="java.util.*" pageEncoding="gb2312"%>
    
    <HTTP>
        <HEAD>
            <TITLE>Get-HTTP-MESSAGE</TITLE>
        </HEAD>
        <BODY>
            <%
                String message=request.getParameter ("message") ;
                String result=new String (message.getBytes ("iso-8859-1") ,"gb2312");
                out.println ("<Hl>Android-message:"+result+"</H>") ;
            %>
        </BODY>
    </HTML>

    该文件从访问该文件的 request 中获取名为 message 的参数信息并在页面上显示出来。

    GET 方式获取网页数据的实现方式和指定 URL 方式很相似,不同的是要在将要访问的地址后面加上要传递的参数。

    实例 GETDemo 中演示了使用 GET 方式访问指定网页的过程,运行效果如图 1 所示。

    实例GETDemo的演示过程
    图 1  实例 GETDemo 的演示过程

更多...

加载中...