HTTP リクエスト用の IdHTTP に代わる軽量の代替手段を探しています。できれば WinINet を使用しないもの。自分が所有する Web サイトにリクエストを送信する必要があります (必要な設定を構成できるようにするため)。
4 に答える
最大限の制御と最小限のオーバーヘッドを得るには、WinSock API を直接使用して、独自の HTTP リクエストを手動で送信します。HTTP プロトコルの詳細については、RFC 2616を参照してください。
自分が何をしているのかを本当に理解していない限り、HTTPを低レベルで実行することはお勧めしません。
コマンドプロンプトに移動し、次のように入力します。
telnet www.yoursite.com 80
接続されるまで待ちます。ここで入力します
GET /
わかりました、それは簡単です。
しかし、この後は本当にすぐに複雑になります。ヘッダーを解析し、リダイレクト、タイムアウト、キャッシュ、プロキシなどを処理する必要があります。最も単純なシングルスレッドの実装では、ダウンロードが完了するまでアプリケーションがフリーズする可能性があります。
アプリケーションで必要なことを実行できる場合もありますが、一般的なHTTPクライアントとしては、問題を解決するために多くの時間を費やさない限り、実装はうまくいきません。
個人的には、MSXML2_TLB をインポートして CoServerXmlHTTPRequest.Create を使用するのが好きです。同じプロジェクトでとにかく XML が必要な場合は特にそうです。
SynapseLibを試してください。それでも、WinInet を使用しているかどうかはわかりません。