您的位置:首页 > 理论基础 > 计算机网络

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地址了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: