Android学习笔记--Http协议

HttpURLConnection 分别有GET和POST请求Post方式的
 1     public void testPOstbendi() throws Exception {
 2         //构建服务器地址
 3         URL url = new URL("http://192.168.40.194/qiantai/admin/login_check.php");
 4         //获取HttpURLConnection对象
 5         HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
 6         //设置请求时间
 7         httpURLConnection.setReadTimeout(10000);
 8         httpURLConnection.setConnectTimeout(10000);
 9         //设置方式
10         httpURLConnection.setRequestMethod("POST");
11         //建立一个实际的链接
12         httpURLConnection.connect();
13         //获取输出流
14         OutputStream os = httpURLConnection.getOutputStream();
15         //POST提交的字段
16         String message ="username=admin&userpass=123456";
17         //想服务器写入数据
18         os.write(message.getBytes());
19         //获取服务端返回的状态码
20         int code = httpURLConnection.getResponseCode();
21         //switch判断一下
22         switch (code){
23             case 201:
24             case 200:
25                 //获取服务器返回的输入流
26                 InputStream inputStream = httpURLConnection.getInputStream();
27                 StringBuffer stringBuffer = new StringBuffer();
28                 String strings;
29                 //转换成字符输入流
30                 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
31                 while ((strings = bufferedReader.readLine())!= null){
32                     stringBuffer.append(strings);
33                 }
34                 //关闭数据链接
35                 httpURLConnection.disconnect();
36                 Log.e(TAG, "testURl: "+stringBuffer.toString());
37                 break;
38             case 401:
39                 Log.e(TAG, "tes401了啊==========================================================");
40                 break;
41         }
42     }

GET方式的

    public void testURl() throws Exception {
        //构建URL
        URL url = new URL("http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgi?chgmobile=15850781443");
        //获取httpURLConnection
        HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
        //设置超市时间
        httpURLConnection.setConnectTimeout(10000);
        httpURLConnection.setReadTimeout(10000);
        //设置请求方式
        httpURLConnection.setRequestMethod("GET");
        //获取请求码
        int code = httpURLConnection.getResponseCode();
        switch (code){
            case 200:
                InputStream inputStream = httpURLConnection.getInputStream();
                StringBuffer sb = new StringBuffer();
                String str;
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                while ((str = reader.readLine()) != null){
                    sb.append(str+"\n");
                }
                Log.e(TAG, "testURl: "+sb.toString());
                break;
            case 401:
                Log.e(TAG, "testURl: 401");
                break;
        }
    }
 
时间: 2024-10-10 17:29:43

Android学习笔记--Http协议的相关文章

udacity android 学习笔记: lesson 4 part b

udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文採用下面协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Mar

Android学习笔记(四五):互联网通信-HttpClient、XML解析(W3C)

前几日Android发布了4.0 Icecream,昨天上网发现Begining Book中有Edition 3的版本,比对一下,还是有相当的改动,不仅仅增加了tablet的部分,对原有的章节有有一些修订,前后的调整等等.先按Edtion 2的顺序看,相同章节的看Edtion 3,然后回头看Edition 3的Chapter 24.25(E2的36).26.27.28.29.44.45.46.47几个新增章节.同时将模拟器改为Android 2.3的版本,已适应可能新增的改动. 访问Intern

Android学习笔记二

17. 在ContentProvider中定义的getType()方法是定义URI的内容类型. 18. SQLiteDatabase类中的insert/delete/update/query方法其实也挺好用的,我在EquipmentProvider类中做了实现 19. Android专门有个单元测试项目(Android Test Project),在这个项目中,可以新建一个继承AndroidTestCase类的具体测试类来单元测试某个功能.我新建了一个AndroidTestProject项目,在

udacity android学习笔记: lesson 3

udacity android学习笔记: lesson 3 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Markdown/an

udacity android 学习笔记: lesson 4 part a

udacity android 学习笔记: lesson 4 part a 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 联系:1307316一九六八 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. tips:https://code.csdn.net/titer1/pat_aha/blob/master/Mar

Android学习笔记——关于onConfigurationChanged

从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidManifest.xml申明Activity的广告SDK都会要求加上注明这么一句属性: android:configChanges="orientation|keyboard|keyboardHidden" 通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChan

Android学习笔记18:自定义Seekbar拖动条式样

Android学习笔记18:自定义Seekbar拖动条式样

Pro Android学习笔记(三三):Menu(4):Alternative菜单

什么是Alternative menu(替代菜单) 举个例子,Activity显示一个文本文件.如果用户想对文本文件进行编辑,Activity不提供编辑能力,但可由其他activity或者其他应用提供.我们将相关信息存储在一个intent中,例如该文本的Uri.这个intent可以匹配系统的多个应用,替代菜单将这些应用一一列出,菜单项的title就是该可被调用的activity的名字,图标也为该可被调用的activity的图表. 小例子说明 我们通过一个小例子进行学习,简单地打开一个URL:we

Android学习笔记(二二): 多页显示-Tag的使用

在手机屏幕中,Tab也是比较常用的,通常和List结合,例如我们手机的通信录.下面是Tag的结构. TabHost是整个Tab的容器,包括两部分,TabWidget和FrameLayout.TabWidget就是每个tab的标签,FrameLayout则是tab内容. 如果我们使用extends TabAcitivty,如同ListActivity,TabHost必须设置为@android:id/tabhost TabWidget必须设置android:id为@android:id/tabs F