http(17):请求头响应头键值对含义、设置请求头数据,获取请求头数据,获取响应头数据
2016-01-21 23:07
826 查看
客户端给服务器发送请求头
服务器给客户端发送响应
package com.example.httpdemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button mSend; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSend = (Button)findViewById(R.id.sendButton); mSend.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //铁律:不能在主线程访问网络 WorkThread t = new WorkThread(); t.start(); } }); } class WorkThread extends Thread{ @Override public void run() { super.run(); //创建httpClient对象 HttpClient client = new DefaultHttpClient(); //创建代表请求的对象,参数的要访问的服务器地址,注意加'http://' HttpGet get = new HttpGet("http://www.marschen.com/data1.html"); //设置请求头里的数据 get.setHeader("Accept", "text/html"); //取出请求头里的数据 Header[] allHeaders = get.getAllHeaders(); for(int i = 0;i<allHeaders.length;i++){ String name = allHeaders[i].getName(); String value = allHeaders[i].getValue(); Log.d("xiaoxi","request name = " + name + "; value: " + value); } //执行请求,获取服务器发还的数据 try { HttpResponse hr = client.execute(get); //获取请求头里的数据 Header[] ResponseHeaders = hr.getAllHeaders(); for(int i = 0 ;i < ResponseHeaders.length ; i ++){ String name = ResponseHeaders[i].getName(); String value = ResponseHeaders[i].getValue(); Log.d("xiaoxi","Response name = " + name + "; value: " + value); } //检查响应的状态是否正常,如果状态码是200,说明正常,否则是404 int r = hr.getStatusLine().getStatusCode(); if(r == 200){ HttpEntity en = hr.getEntity(); InputStream in = en.getContent(); BufferedReader b = new BufferedReader(new InputStreamReader(in)); String line = b.readLine(); Log.d("xiaoxi","b:"+line); } } catch (IOException e) { e.printStackTrace(); } } } }
本地搭建服务器:
在’http://tomcat.apache.org/download-60.cgi‘下载响应jdk版本的tomcat,解压到英文且没有空格的目录下。在bin目录下有startup.bat,启动服务器。如何验证本地服务器配置成功呢:在浏览器里输入http://192.168.1.107:8080/,网址是自己的IP地址,用Win键加r键打开运行,输入cmd,在黑框中输入ipconfig,找到Ipv4地址就是自己的IP地址了
相关文章推荐
- [神经网络]1.2-Using neural nets to recognize handwritten digits-Sigmoid neurons(翻译)
- Charles抓包(http/https请求)
- QTcpSocket的读写操作
- Java使用HttpClient库发送请求
- 网络编程02(URL)
- Comet:基于 HTTP 长连接的“服务器推”技术
- 用AFNetworking实现断点续传,暂停,继续
- VMware克隆(复制)后网络配置、CentOS设置静态IP、找不到ipv4地址
- 网络编程(浏览器客户端-自定义服务端)
- datagrid文字省略显示,全文本悬浮显示!_____http://www.educity.cn/wenda/73553.html
- 深入理解WSAAsyncselect网络模型
- 网络编程(TCP-客户端并发登录)
- 数学建模算法(三):神经网络
- CentOS和Ubuntu设置或修改网络配置(IP&网关&DNS)
- 网络请求--Retrofit2使用方法
- 关于Bad Request - Invalid URL HTTP Error 400. The request URL is invalid 如何处理?
- Android 网络数据的缓存HttpResponseCache <18>
- jmeter 中的 HTTP URL Re-writing Modifier
- Java使用socket网络编程实现多人聊天室
- 网络流小结