-
httpclient关于自定义HTTP状态码获取20
一个站点使用浏览器访问,输入错误的用户名或者密码,在firebug能看到状态码508 login failed(不讨论是否在HTTP状态码范畴).使用httpclient的时候始终是200 ok.有哪些可能的因素?或者是不支持?2012年4月12日 20:41
1个答案 按时间排序 按投票排序
-
你要设置http报头才行。
具体参数:
成员(HTTP状态码):
int SC_CONTINUE = 100 int SC_SWITCHING_PROTOCOLS = 101
int SC_OK = 200 int SC_NON_AUTHORITATIVE_INFORMATION = 203
int SC_ACCEPTED = 202 int SC_CREATED = 201
int SC_NO_CONTENT = 204 int SC_RESET_CONTENT = 205
int SC_PARTIAL_CONTENT = 206 int SC_MULTIPLE_CHOICES = 300
int SC_MOVED_PERMANENTLY = 301 int SC_MOVED_TEMPORARILY = 302
int SC_FOUND = 302 int SC_SEE_OTHER = 303
int SC_NOT_MODIFIED = 304 int SC_USE_PROXY = 305
int SC_TEMPORARY_REDIRECT = 307 int SC_BAD_REQUEST = 400
int SC_UNAUTHORIZED = 401 int SC_PAYMENT_REQUIRED = 402
int SC_FORBIDDEN = 403 int SC_NOT_FOUND = 404
int SC_METHOD_NOT_ALLOWED = 405 int SC_NOT_ACCEPTABLE = 406
int SC_PROXY_AUTHENTICATION_REQUIRED = 407 int SC_REQUEST_TIMEOUT = 408
int SC_CONFLICT = 409 int SC_GONE = 410
int SC_LENGTH_REQUIRED = 411 int SC_PRECONDITION_FAILED = 412
int SC_REQUEST_ENTITY_TOO_LARGE = 413 int SC_REQUEST_URI_TOO_LONG = 414
int SC_UNSUPPORTED_MEDIA_TYPE = 415 int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416
int SC_EXPECTATION_FAILED = 417 int SC_INTERNAL_SERVER_ERROR = 500
int SC_NOT_IMPLEMENTED = 501 int SC_BAD_GATEWAY = 502
int SC_SERVICE_UNAVAILABLE = 503 int SC_GATEWAY_TIMEOUT = 504
例子如:
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
response.setHeader("Location","http://www.agrilink.cn/404.html");2012年4月13日 14:53
相关推荐
6. 处理响应:从`HttpResponse`中获取状态码、响应头和响应实体,进行解析和处理。 在Android中,由于`HttpClient`已被弃用,开发者通常转向使用`HttpURLConnection`或第三方库如Retrofit、OkHttp。然而,对于那些...
4. **HttpResponse**:响应对象,包含了HTTP响应的状态码、响应头和响应体。 5. **EntityEnclosingRequestBase**:HttpPost继承自这个抽象类,用于支持带有请求体的HTTP方法,如POST、PUT。 6. **...
4. **处理响应**:HttpClient应该能够解析服务器的响应,包括状态码、响应头和响应体。可能有一个`parseResponse()`函数来完成这个任务。 5. **错误处理**:当请求失败或发生异常时,HttpClient应能提供错误信息。...
5. **处理响应**:从HttpResponse对象中读取响应状态码和数据。例如: ```java StatusLine statusLine = response.getStatusLine(); int statusCode = statusLine.getStatusCode(); ...
我们可以使用`getStatusLine`获取状态码,`getEntity`获取响应体,如果响应体是文本,可以使用`EntityUtils.toString(entity)`将其转换为字符串。 7. **异常处理**:执行HTTP请求可能会抛出IOException,需要捕获并...
4. **处理响应**:检查响应状态码,读取响应头和实体内容,进行必要的处理。 5. **关闭资源**:执行完请求后,关闭HttpClient和相关连接,释放系统资源。 **四、示例代码** ```java CloseableHttpClient ...
5. 解析HttpResponse,获取状态码、响应头和实体内容。 6. 清理资源,关闭连接。 在实际开发中,你可能还需要考虑错误处理、重试策略、连接池管理、SSL支持等问题。HttpClient库提供了丰富的API和扩展性,能够满足...
5. **处理响应**:从HttpResponse中获取状态码、头部和响应体。如果状态码表示成功(通常是200),则可以读取响应体内容;如果需要错误处理,可以根据状态码进行相应操作。 6. **释放资源**:完成操作后,记得关闭...
5. 处理响应:获取`HttpResponse`对象,解析状态码、头部信息和响应体。 6. 错误处理:检查`HttpResponse`的状态码,根据需要进行错误处理。 三、示例代码 以下是一个简单的GET请求示例: ```java ...
4. **HttpResponse**:当你发送一个请求后,HttpClient会返回一个HttpResponse对象,其中包含了服务器的响应状态码、头部信息和响应实体。 5. **HttpEntity**:表示HTTP响应中的实体内容,可以是文本、二进制数据...
3. **请求和响应处理**:HttpClient可以设置请求头、参数、编码方式等,并能解析HTTP响应,包括状态码、响应头和响应体内容。 4. **Cookie管理**:支持自动处理服务器返回的Cookie,方便进行会话管理。 5. **HTTP...
4. 处理响应,如检查状态码、读取响应体、关闭响应。 标签中的“源码”提示我们关注HttpClient的实现细节,这对于优化性能、解决特定问题或扩展功能至关重要。你可以阅读Apache HttpClient的源码,了解其内部的工作...
4. **请求和响应处理**:HttpClient提供了丰富的API,可以方便地构造HTTP请求,处理响应数据,包括HTTP状态码、头信息、正文内容等。 5. **支持Cookie管理**:HttpClient能够自动处理服务器返回的Cookie,保持会话...
本节将详细介绍如何使用HttpClient 4.x版本来获取HTTP响应的状态码,并对其进行验证。这对于开发人员来说是一个非常实用的功能,可以帮助快速定位请求是否成功、服务器是否正确处理了请求等问题。 **1.2 从...
5. 处理响应:获取HttpResponse的状态码、头部信息,并通过HttpEntity获取实体内容。 四、HttpClient的高级特性 1. 连接管理:HttpClient支持连接池,可以控制连接的复用和释放,提高性能。 2. 身份验证:支持多种...
2. 请求与响应处理:HttpClient允许开发者精细控制请求头、请求体、超时等设置,响应则包含状态码、响应头和响应体,可以进行相应的解析和处理。 三、HTTPS安全通信 HTTPS是HTTP协议的安全版本,通过SSL/TLS协议...
4. 处理响应:从HttpResponse获取状态码、响应头和HttpEntity,根据需要读取响应内容。 5. 关闭资源:释放连接和实体资源,避免内存泄漏。 四、HttpClient进阶特性 1. 连接管理:HttpClient允许自定义连接池,通过...
4. 处理响应:获取HttpEntity,从中读取响应数据,如状态码、响应头和响应体内容。 5. 关闭资源:执行完请求后,记得关闭HttpClient实例和HttpEntity,释放系统资源。 三、HttpClient 4.2.2的关键类和接口 1. `...