//使用线程

new Thread(){
            public void run() {
                try {
                    //先创建出了一个URL对象,urlPath:是我们访问接口地址
                    URL url=new URL(urlPath);
                    
                     //URL链接对象,通过URL对象打开一个connection链接对像
                    HttpURLConnection urlConnection=(HttpURLConnection) url.openConnection();
                    //设置urlConnection对象链接超时
                    urlConnection.setConnectTimeout(5000);
                    //设置urlConnection对象获取数据超时
                    urlConnection.setReadTimeout(5000);
                    //设置本次urlConnection请求方式
                    urlConnection.setRequestMethod("GET");
                    //调用urlConnection的链接方法,线程等待,等待的是服务器所给我们返回的结果集
                    urlConnection.connect();
                    //获取本次网络请求的状态码
                    int code=urlConnection.getResponseCode();
                    //如果本次返回的状态吗是200(成功)
                    if (code==200) {
                         //调用urlConnection.getInputStream得到本次请求所返回的结果流
                        InputStream inputStream=urlConnection.getInputStream();
                        //创建一个BufferedReader,去读取结果流
                        BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
                        String readLine;
                        StringBuffer buffer=new StringBuffer();
                        while ((readLine=reader.readLine())!=null) {
                            buffer.append(readLine);
                            
                        }
                        //读取完结果流之后所得到的结果
                        String result=buffer.toString();
                        Message message=new Message();
                        message.what=0;
                        message.obj=result;
                        handler.sendMessage(message);
                        inputStream.close();
                    }
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            };
        }.start();

HttpURLConnection请求网络数据的更多相关文章

  1. HttpURLConnection请求网络数据的Post请求

    //--------全局变量----------- //注册Url    private String urlPath="http://101.200.142.201:8080/VideoP ...

  2. HttpURLConnection请求网络数据的GET请求

    //清单文件中添加权限 <uses-permission android:name="android.permission.INTERNET"/> new Thread ...

  3. Android 手机卫士--构建服务端json、请求网络数据

    本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/ ...

  4. Android - 使用Volley请求网络数据

    Android - 使用Volley请求网络数据 Android L : Android Studio 14 个人使用volley的小记,简述使用方法,不涉及volley源码 准备工作 导入Volle ...

  5. react-native 项目实战 -- 新闻客户端(4) -- 请求网络数据

    1.Home.js /** * 首页 */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Te ...

  6. IOS开发中使用AFNetworking请求网络数据

    1.把AFNetworking的文件拖放到项目中(注意不同的版本方法不一样,本历程基于版本2013): 2.使用#import "AFNetworking.h"命令把AFNetwo ...

  7. HttpURLConnection 接收网络数据出现乱码问题

    由于接收的数据经过gZip处理过,所以在接受的时候也要处理,并且加上编码格式(没有会出现部分数据乱码): 具体代码实现如下: URL ul = new URL(url); HttpURLConnect ...

  8. angularjs $http请求网络数据并展示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. post NSURLConnection请求网络数据

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

随机推荐

  1. fatal error: Invalid layout of preloaded class

    今天很奇怪,在java类中写一个单纯的main函数,打印一句话竟然出不来,后来各种资料找,终于知道解决的方法了,如下 错误截图: 解决方法: (1)选中你要运行的那个类,点击上方的project--p ...

  2. Type Project has no default.properties file! Edit the project properties to set one.

    Description Resource Path Location Type Project has no default.properties file! Edit the project pro ...

  3. phoenix创建二级索引

    create table user (id varchar primary key, firstname varchar, lastname varchar); create index user_i ...

  4. js合并行

    网上找了好久才找到,在这记录下. <script type="text/javascript" > function MergerRow(ID) { var tab = ...

  5. Android学习笔记(七)

    活动的启动模式 活动的启动模式一共有四种,分别是standard.singleTop.singleTask和singleInstance, 可以在AndroidManifest.xml中通过给< ...

  6. int和NSInteger区别

    NSInteger会自动根据操作系统的位数(32或者64位)返回最大的类型 查到c语言中,int和long的字节数是和操作系统指针所占位数相等. 但c语言中说,long的长度永远大于或等于int ob ...

  7. powerDesigner 报Unable to connect SQLState=08004 解决方法

    在使用PowerDesigner配置数据库连接(configure connections)的时候,点击Test connection之后弹出Unable to connect SQLState=08 ...

  8. oracle11g rac asm存储数据迁移

    OS:rh6.4 ORACLE 11g RAC ASM OCR和VOTING DISK在crs磁盘组,控制文件.数据文件.参数文件在DATA组. 1.备份数据库 RUN {ALLOCATE CHANN ...

  9. XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络。(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 我们配置一下MAC的 ...

  10. GTD一些问题

    一."大局"与事物的本质1,在处理每天.每小时的事务时,有很多干扰因素分散了我们的注意力,以致我们无法集中足够的精力关注更重要的问题.2,一种下意识的抵触情绪,在面对那些原本棘手的 ...