zoukankan      html  css  js  c++  java
  • 关于HTTP协议在安卓中的小知识点

    工作原理比较简单:就是客户端向服务器发出一条HTTP 请求,服务器收到请求之后会返回一些数据给客户端,然后客户端再对这些数据进行解析和处理就可以。

    HttpURLConnection,在安卓上发送http请求 

    URL url = new URL("http://www.baidu.com"); 传入网址

    HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 获取实例

    设置HTTP 请求所使用的方法:connection.setRequestMethod("GET");  从服务器获取数据 POST从服务器发送数据

    设置连接超时、读取超时:connection.setConnectTimeout(8000);         connection.setReadTimeout(8000);

    获取到服务器返回的输入流:调用getInputStream()方法 

    读取输入流:InputStream in = connection.getInputStream();

    HTTP 连接关闭:connection.disconnect();

    //ScrollView 控件:允许我们以滚动的形式查看屏幕外的那部分内容

    提交数据到服务器:

    connection.setRequestMethod("POST");

    DataOutputStream out = new DataOutputStream(connection.getOutputStream());

    out.writeBytes("username=admin&password=123456");

    HttpClient的使用和前者却大相径庭。

    HttpClient是一个网络访问接口:无法创建实例,通常创建  HttpClient httpClient = new DefaultHttpClient();

    发起GET请求,

    HttpGet httpGet = new HttpGet("http://www.baidu.com");
    httpClient.execute(httpGet);

    发起POST请求,

    HttpPost httpPost = new HttpPost("http://www.baidu.com");

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("username", "admin"));
    params.add(new BasicNameValuePair("password", "123456"));
    UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "utf-8");
    httpPost.setEntity(entity);

    httpClient.execute(httpPost);

    if (httpResponse.getStatusLine().getStatusCode() == 200) {// 请求和响应都成功了}

    HttpEntity entity = httpResponse.getEntity();
    String response = EntityUtils.toString(entity);

    String response = EntityUtils.toString(entity, "utf-8"); 解决中文乱码

    记得声明网络权限:<uses-permission android:name="android.permission.INTERNET" />

  • 相关阅读:
    wex5 实战 框架拓展之2 事件派发与data刷新
    wex5 实战 框架拓展之1 公共data组件(Data)
    wex5 实战 HeidiSQL 导入Excel数据
    wex5 实战 手指触屏插件 hammer的集成与优劣
    wex5 实战 登陆帐号更换与用户id一致性
    wex5 实战 用户点评与提交设计技巧
    wex5 实战 省市县三级联动与地址薄同步
    wex5 实战 wex5与js的组件关系与执行顺序(父子与先后)
    wex5 实战 单页模式下的多页面数据同步
    [BZOJ]4237: 稻草人
  • 原文地址:https://www.cnblogs.com/lewisky/p/5056232.html
Copyright © 2011-2022 走看看