可能的重复:
将原始 HTTP 请求转换为 HTTPWebRequest 对象 https://stackoverflow.com/questions/318506/converting-raw-http-request-into-httpwebrequest-object
我有一个用 C# 编写的自定义 HTTP 服务器,它为我提供原始 HTTP 请求...
GET /ACTION=TEST HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
.NET 框架中是否有一些东西可以用来解析它,还是我必须手动解析它?
Cheers
查看HttpMachine https://github.com/bvanderveen/httpmachine- 的一个组成部分Kayak http://kayakhttp.com/dotNET 的 HTTP 服务器。 HttpMachine 是一个回调驱动的 HTTP 解析器。
为了满足你的胃口,这里有IHttpParserHandler https://github.com/bvanderveen/httpmachine/blob/b658bc9b64436027c572c291e9ebb6e729d82721/HttpMachine/IHttpParserHandler.cs界面:
using System
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HttpMachine
{
public interface IHttpParserHandler
{
void OnMessageBegin(HttpParser parser);
void OnMethod(HttpParser parser, string method);
void OnRequestUri(HttpParser parser, string requestUri);
void OnFragment(HttpParser parser, string fragment);
void OnQueryString(HttpParser parser, string queryString);
void OnHeaderName(HttpParser parser, string name);
void OnHeaderValue(HttpParser parser, string value);
void OnHeadersEnd(HttpParser parser);
void OnBody(HttpParser parser, ArraySegment<byte> data);
void OnMessageEnd(HttpParser parser);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)