Si una consulta necesaria todavía usa WHOIS tradicional, un proxy HTTP puede transportar ese intercambio TCP cuando su política permite CONNECT hacia el servicio WHOIS. El cliente debe terminar el handshake del proxy antes de enviar el texto de la consulta. Para una prueba WHOIS pública permitida sin credenciales de proxy configuradas, la lista de proxies HTTP ofrece intermediarios candidatos; confirme por separado que uno permita el host del servicio WHOIS y el puerto 43.

Para un servicio hipotético llamado whois.example, empiece con esta solicitud HTTP:

CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43

Serialice los finales de línea HTTP como CRLF. Lea la respuesta completa del proxy, incluida su línea final vacía de encabezado, y compruebe el estado numérico de éxito. Recibir solo una parte de la línea de estado no basta para iniciar el protocolo siguiente.

Después, envíe el texto WHOIS

Una vez abierto el túnel, envíe la consulta que espera ese servidor WHOIS. Una consulta ilustrativa sencilla es:

example.com<CRLF>

El marcador representa los bytes de retorno de carro y salto de línea. No forma parte del nombre de dominio. Dentro de este intercambio WHOIS no hay ninguna línea HTTP GET ni ningún estado de respuesta HTTP.

Lea el texto hasta que el servidor WHOIS cierre la conexión. Una respuesta puede contener muchas líneas; el primer salto de línea no significa que esté completa. Mantenga acotados los tiempos de espera de conexión y lectura en la implementación.

Esta secuencia también da al analizador dos límites distintos. Primero llega un bloque de encabezados HTTP. Después llega la respuesta WHOIS, cuya finalización se señala con el cierre de la conexión. Conserve los bytes almacenados más allá de un límite ya analizado en lugar de descartar una lectura de red completa.

Un rechazo del proxy significa que el túnel nunca se abrió, así que enviar un dominio después no puede producir un resultado WHOIS. Si la respuesta del servidor apunta a otro servicio WHOIS, cualquier consulta posterior necesita su propia conexión permitida con ese servicio.

Artículos relacionados