2011-05-16 24 views
0

我已經編寫了一個Delphi應用程序,它需要與遠程Web服務器進行通信。我將INTERNET_OPEN_TYPE_PRECONFIG標誌傳遞給InternetOpen函數以初始化我的應用程序對WinINet函數的使用,並通過這樣做我的應用程序從註冊表中檢索用戶的Internet配置。解決所需的代理驗證問題

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 

也許是由於我的無知,我相信使用用戶的特定的Internet設置是否直接連接或通過代理的遠程Web服務器這使通信。它當然可以通過我公司的代理服務器工作。

但是,我現在遇到了一個上面不允許他訪問的客戶。他看到了「需要代理驗證」(HTTP狀態碼407)。

這是我的應用程序應該處理的事情(例如,提供一個表單來輸入代理認證詳細信息並將它們傳遞給我的HTTP請求)?有沒有辦法自動獲取這些信息?

或者,這是否僅僅是客戶的IT部門可以輕鬆解決的配置問題?

任何指針將不勝感激。

+1

爲了獲得幫助,請添加您用於獲取代理信息的代碼。 – RRUZ 2011-05-16 18:09:36

回答