2011-05-28 64 views
2

我試圖使用HttpHandler將原始數據發送到IIS。但是,由於請求是「GET」請求而沒有「Content-Length」頭文件,它會報告沒有要讀取的數據(TotalBytes),並且輸入流爲空。有沒有什麼辦法可以插入IIS管道(甚至可能在請求被解析之前)並且只是控制請求並讀取它的原始數據?我不在乎是否需要自己解析頭文件和類似的東西,我只是想讓我的手接受實際的請求,並告訴IIS忽略這個。這是否可能?因爲現在看起來我需要做替代方案,這是開發一個自定義的獨立服務器,我真的不想這樣做。從IIS請求獲取原始套接字

回答

0

大多數Web服務器都會忽略(並且很少給你訪問)GET請求的主體,因爲HTTP語義意味着它將被忽略。你應該考慮另一種方法(例如POST或PUT)。

看到這個問題,在這個答案的鏈接: HTTP GET with request body

+0

使用GET是一個要求我害怕。 – Alxandr 2011-05-28 14:12:34

+0

@Alxandr,我不能評論這個要求來自哪裏,但是它違背了HTTP規範:在這種情況下,不要期望與現有服務器有太大的互操作性。 (如果某些代理服務器在GET請求中過濾了正文,或者甚至明確拒絕了它們,我也不會感到驚訝。 – Bruno 2011-05-28 14:16:50

+0

這是一個websocket請求,所以我仍然遵循一個規範。 – Alxandr 2011-05-28 14:20:23