2013-01-24 74 views
-2

我正在尋找適用於HTTP請求的輕量級IdHTTP替代方案。最好不使用WinINet的。我需要向我自己的網站發送請求(這樣我可以配置任何可能需要的設置)。如何在不使用Indy或WinINet的情況下發送HTTP請求?

+1

那麼,WinINet太高級了(太嚴格了)? –

+3

使用'TIdHTTP'有什麼問題? –

+0

沒有「輕量級」的定義,這不是一個問題 –

回答

5

爲了實現最大控制量和最少開銷,只需直接使用WinSock API並手動發送您自己的HTTP請求即可。有關HTTP協議的詳細信息,請閱讀RFC 2616

+1

...以及您自己編寫的大部分代碼。不要忘記編寫自己的TCP/IP協議棧,因爲依賴於Windows DLLs是不好的(否則我們會使用WinHttp)。我同意不使用WinInet,但WinHttp是理智的方法。 –

0

嘗試SynapseLib。不過,我不確定它是否使用WinInet。

2

除非你真的知道你在做什麼,否則我不會推薦做太低級別的HTTP東西。

進入命令提示符,然後輸入:

telnet www.yoursite.com 80 

等待你直到連接。現在鍵入

GET/

好吧,那很容易。

但是在這之後它變得非常複雜。您必須解析標頭,處理重定向,超時,緩存,代理等。 使用最天真的單線程實現,您的應用程序可能會凍結,直到您的下載完成。

你可能可以在你的應用程序中做你需要做的事情,但作爲一個通用的HTTP客戶端,你的實現將會很糟糕,除非你花很多時間去做正確的事情。

0

我個人喜歡導入MSXML2_TLB並使用CoServerXmlHTTPRequest.Create,特別是如果我在同一個項目中需要XML。

相關問題