HTTP--Response小结

HTTP协议:
	1. 请求消息:客户端发送给服务器端的数据
		* 数据格式:
			1. 请求行
			2. 请求头
			3. 请求空行
			4. 请求体
	2. 响应消息:服务器端发送给客户端的数据
		* 数据格式:
			1. 响应行
				1. 组成:协议/版本 响应状态码 状态码描述
				2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
					1. 状态码都是3位数字 
					2. 分类:
						1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
						2. 2xx:成功。代表:200
						3. 3xx:重定向。代表:302(重定向)304(访问缓存)
						4. 4xx:客户端错误。
							* 代表:
								* 404(请求路径没有对应的资源) 
								* 405:请求方式没有对应的doXxx方法
						5. 5xx:服务器端错误。代表:500(服务器内部出现异常)
							
					
			2. 响应头:
				1. 格式:头名称: 值
				2. 常见的响应头:
					1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
					2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据
						* 值:
							* in-line:默认值,在当前页面内打开
							* attachment;filename=xxx:以附件形式打开响应体。文件下载
			3. 响应空行
			4. 响应体:传输的数据


		* 响应字符串格式
			HTTP/1.1 200 OK
			Content-Type: text/html;charset=UTF-8
			Content-Length: 101
			Date: Wed, 06 Jun 2018 07:08:42 GMT
	
			<html>
			  <head>
			    <title>$Title$</title>
			  </head>
			  <body>
			  hello , response
			  </body>
			</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是 Android Http 请求的实验小结。 一、Http 请求基本流程 Android 中的 Http 请求一般分为以下几个步骤: 1. 创建一个 HttpClient 对象或者 HttpURLConnection 对象。 2. 创建一个 HttpGet、HttpPost、HttpPut、HttpDelete 等 Http 请求对象。 3. 设置请求参数,如请求地址、请求头、请求体等。 4. 执行请求,获取响应结果。 5. 解析响应结果,处理返回的数据。 二、Http 请求使用方法 1. 创建 HttpClient 对象 ```java HttpClient httpClient = new DefaultHttpClient(); ``` 2. 创建 HttpGet、HttpPost、HttpPut、HttpDelete 等 Http 请求对象 ```java HttpGet httpGet = new HttpGet(url); HttpPost httpPost = new HttpPost(url); HttpPut httpPut = new HttpPut(url); HttpDelete httpDelete = new HttpDelete(url); ``` 3. 设置请求参数 设置请求地址: ```java httpGet.setURI(new URI(url)); httpPost.setURI(new URI(url)); httpPut.setURI(new URI(url)); httpDelete.setURI(new URI(url)); ``` 设置请求头: ```java httpGet.setHeader("Content-Type", "application/json"); httpPost.setHeader("Content-Type", "application/json"); httpPut.setHeader("Content-Type", "application/json"); httpDelete.setHeader("Content-Type", "application/json"); ``` 设置请求体: ```java StringEntity entity = new StringEntity(data, "UTF-8"); httpPost.setEntity(entity); httpPut.setEntity(entity); ``` 4. 执行请求,获取响应结果 ```java HttpResponse httpResponse = httpClient.execute(httpGet); int statusCode = httpResponse.getStatusLine().getStatusCode(); String response = EntityUtils.toString(httpResponse.getEntity(), "UTF-8"); ``` 5. 解析响应结果,处理返回的数据 ```java JSONObject jsonObject = new JSONObject(response); String result = jsonObject.getString("result"); ``` 三、Http 请求常见错误及解决方法 1. android.os.NetworkOnMainThreadException 异常 该异常通常是因为在主线程中进行了网络请求操作。解决方法是将网络请求放到子线程中执行。 2. java.net.SocketTimeoutException 异常 该异常通常是因为网络连接超时。解决方法是设置连接超时和读取超时时间。 ```java HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, timeout); HttpConnectionParams.setSoTimeout(httpParams, timeout); ``` 3. java.net.UnknownHostException 异常 该异常通常是因为访问的域名不正确或者无法解析。解决方法是检查域名是否正确、是否有网络连接等。 4. java.io.IOException 异常 该异常通常是因为网络连接失败或者服务器返回的数据格式不正确。解决方法是检查网络连接、请求参数、返回数据等。 以上是 Android Http 请求的实验小结,希望能对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值