如何获取HTTP请求响应问号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取HTTP请求响应问号相关的知识,希望对你有一定的参考价值。
参考技术A HTTP请求方式有两种,一种是GET方式,请求参数会用“?”作为分隔符跟在请求资源后面;另一种是POST方式,请求参数放在了最后面的位置。服务器监听到浏览器的链接,首先将HTTP请求信息保存下来,再进行解析。
// 请求信息的输入流
private InputStream input;
//获得HTTP请求信息,并解析出请求使用的是GET还是POST,然后调用相应的处理方法进行处理
public void parseInput()
byte [] b = new byte[1024];
try
input.read(b);
catch (IOException e)
LogInfo.error("读取请求信息出错"+e.getMessage());
return;本回答被提问者采纳
如何从 WinHttp 请求中获取 HTTP 状态码?
【中文标题】如何从 WinHttp 请求中获取 HTTP 状态码?【英文标题】:How to get HTTP status code from WinHttp request? 【发布时间】:2014-07-17 09:12:23 【问题描述】:This page on msdn 包含可能在 WinHTTP 中使用的 HTTP 状态代码的定义。有没有办法从 WinHttp 中发出的请求中检索 HTTP 状态码?
我发现获取响应文本的唯一方法是调用WinHttpQueryHeaders
,它会返回如下 HTTP 响应:
HTTP/1.1 404 Not Found
Date: Wed, 28 May 2014 08:20:29 GMT
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
我必须自己解析这个字符串来获取状态码,还是 WinHttp 已经提供了一些方法来做到这一点?
【问题讨论】:
【参考方案1】:使用它来读取 http 状态码(hRequest - 请求的句柄)。
DWORD dwStatusCode = 0;
DWORD dwSize = sizeof(dwStatusCode);
WinHttpQueryHeaders(hRequest,
WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER,
WINHTTP_HEADER_NAME_BY_INDEX,
&dwStatusCode, &dwSize, WINHTTP_NO_HEADER_INDEX);
【讨论】:
以上是关于如何获取HTTP请求响应问号的主要内容,如果未能解决你的问题,请参考以下文章