http(17):请求头响应头键值对含义、设置请求头数据,获取请求头数据,获取响应头数据

本文介绍了HTTP请求头和响应头的键值对含义,并讲解了如何设置请求头数据以及获取请求和响应头数据。同时,通过在Apache Tomcat上本地搭建服务器的步骤,包括下载、解压、启动服务器以及验证服务器配置成功的实践操作,帮助读者理解HTTP通信过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户端给服务器发送请求头


响应头键值对含义

服务器给客户端发送响应

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地址了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值