2011-05-16 58 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

回答