2010-05-11 36 views
6

Nếu tôi có một phản ứng HTTP liệu như là một chuỗi:Cách phân tích cú pháp phản hồi HTTP thô dưới dạng HttpListenerResponse?

HTTP/1.1 200 OK
ngày: Thứ Ba, 11 tháng 5 2010 07:28:30 GMT
Expires: -1
Cache-Control : riêng tư, tối đa tuổi = 0
Loại nội dung: văn bản/html; charset = UTF-8
Máy chủ: gws
X-XSS-Protection: 1; mode = khối
kết nối: gần

<!doctype html><html>...</html> 

Có một cách dễ dàng tôi có thể phân tích nó thành một đối tượng HttpListenerResponse? Hoặc ít nhất một đối tượng .NET nào đó nên tôi không phải làm việc với các phản hồi thô.

Điều tôi đang làm hiện đang trích xuất cặp khóa/giá trị tiêu đề và đặt chúng trên HttpListenerResponse. Nhưng một số tiêu đề không thể được thiết lập, và sau đó tôi phải cắt bỏ phần thân của phản hồi và ghi nó vào OutputStream. Nhưng cơ thể có thể được gzipped, hoặc nó có thể là một hình ảnh, mà tôi không thể làm việc được nêu ra. Và một số câu trả lời chứa các ký tự ngẫu nhiên ở khắp mọi nơi, trông giống như một vấn đề mã hóa. Đó là rất nhiều rắc rối.

Tôi nhận được phản hồi thô vì tôi đang sử dụng SOCKS để gửi yêu cầu HTTP. Chương trình tôi đang làm việc trên cơ bản là một proxy HTTP có thể định tuyến các yêu cầu thông qua một proxy SOCKS, giống như Privoxy.

Trả lời

1

Có lẽ bạn muốn để có một cái nhìn tại các ResponseHeaders tài sản của Webclient:

WebClient wc = new WebClient(); 
wc.DownloadStringAsync(new Uri("http://www.foo.com")); 

WebHeaderCollection myWebHeaderCollection = myWebClient.ResponseHeaders; 

for (int i=0; i < myWebHeaderCollection.Count; i++)    
    Console.WriteLine ("\t" + myWebHeaderCollection.GetKey(i) + 
         " = " + myWebHeaderCollection.Get(i)); 

Xin vui lòng cho tôi nếu isnt rằng những gì bạn đang tìm kiếm.

+1

Hmm chỉ đọc lại câu hỏi của bạn, và tôi nghĩ rằng có thể không giúp bạn nếu bạn chỉ nhận được phản ứng thô và phải xây dựng phản ứng của bạn bằng tay ... –

+0

Vâng, tôi hiện đang sử dụng HttpListenerResponse.Headers.Set (khóa, giá trị), cũng giống như vậy. Nhưng cảm ơn bạn đã trả lời. – Edgar

Các vấn đề liên quan