リモートWebサーバーとの通信を必要とするDelphiアプリケーションを作成しました。INTERNET_OPEN_TYPE_PRECONFIGフラグをInternetOpen関数に渡して、アプリでのWinINet関数の使用を初期化し、そうすることで、アプリがレジストリからユーザーのインターネット構成を取得します。
NetHandle := InternetOpen('WebTool', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(NetHandle) then
begin
try
hConnect := InternetConnect(NetHandle, PChar(ServerName), ServerPort,
nil, nil, INTERNET_SERVICE_HTTP, 0, 1);
if Assigned(hConnect) then
begin
try
// Open the request
hRequest := HttpOpenRequest(hConnect, PChar('POST'),
PChar(ServerScript), nil, nil, nil,
HTTPOpenRequestFlags, 0);
if Assigned(hRequest) then
begin
おそらく私の無知のために、これにより、直接接続かプロキシ経由かを問わず、ユーザーの特定のインターネット設定を使用してリモートWebサーバーとの通信が可能になると信じていました。それは確かに私の会社のプロキシサーバーを介して機能します。
しかし、私は今、上記が彼にアクセスを許可していない1人の顧客に遭遇しました。代わりに、「プロキシ認証が必要」(HTTPステータスコード407)が表示されます。
これは私のアプリが処理する必要があるものですか(たとえば、プロキシ認証の詳細を入力し、HTTPリクエストでそれらを渡すためのフォームを提供します)?この情報を自動的に取得する方法はありますか?
それとも、これは単に、お客様のIT部門が簡単に解決できる構成の問題に起因するのでしょうか。
任意のポインタをいただければ幸いです。