Resolución de un problema de autenticación de proxy

Escribí una aplicación Delphi que requiere comunicación con un servidor web remoto. Paso la bandera INTERNET_OPEN_TYPE_PRECONFIG a la función InternetOpen para inicializar el uso de las funciones WinINet por parte de mi aplicación y, al hacerlo, mi aplicación recupera la configuración de Internet del usuario del registro.

  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

Quizás debido a mi ignorancia, creí que esto habilitaba la comunicación con el servidor web remoto usando la configuración particular de Internet del usuario, ya sea una conexión directa o mediante un proxy. Ciertamente funciona a través del servidor proxy de mi empresa.

Sin embargo, ahora me he encontrado con un cliente al que lo anterior no le permite acceder. En su lugar, ve un "Se requiere autenticación de proxy" (código de estado HTTP 407).

¿Es esto algo que mi aplicación debería manejar (por ejemplo, proporcionar un formulario para ingresar detalles de autenticación de proxy y pasarlos con mis solicitudes HTTP)? ¿Existe alguna forma de recoger esta información automáticamente?

¿O se debe simplemente a un problema de configuración que el departamento de TI del cliente puede resolver fácilmente?

Cualquier sugerencia sería muy apreciada.

preguntado el 16 de mayo de 11 a las 18:05

Para obtener ayuda, agregue el código que está utilizando para obtener la información del proxy. -

1 Respuestas

Es posible que deba manejar la autenticación, según los métodos de autenticación que admita el proxy (se lo dirá en la respuesta 407). Ver http://msdn.microsoft.com/en-us/library/aa384220(VS.85).aspx

contestado el 17 de mayo de 11 a las 01:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.