Pregunta: | 16404 - ¿COMO SE LA URL QUE HA ESCRITO EN IEXPLORER? |
Autor: | Joselito |
Hola a todos.
Tengo mi aplicación corriendo en BackGround, y lo que necesito, es averiguar qué URL han escrito en la barra de Navegación del Internet Explorer... ¿Hay alguna forma de saberlo?. ¿Como?. ¿Que tengo que utilizar y cómo se declara?. Muchas gracias. |
Respuesta: | jorge luis Guzman Abreu |
Si enviamos un "GET" al puerto 80 del servidor WEB, nos devolverá algo parecido a esto:
HTTP/1.0 200 OK Date: Fri, 18.Feb 2000 09:42:29 GMT Server: Apache/1.3.6 (Unix) <=== Esta es la parte interesante Connection: close Transfer-Encoding: chunked Content-Type: text/html ... ... Codigo HTML ... La peticion como tal debe ser de la forma: GET / HTTP/1.0{CR/LF}{CR/LF}{CR/LF} El ejemplo es el sgte. procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Caption := 'Conectado'; {Connected} ClientSocket1.Socket.SendText('GET / HTTP/1.0'+#13+#10+#13+#10+#13+#10); end; -en el evento Read del ClientSocket: procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(ClientSocket1.Socket.ReceiveText); end; -Y en el OnClick del Boton procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket1.Host := Edit1.Text; ClientSocket1.Port := 80; ClientSocket1.Open; end; Ejecuta el programa, y en el edit escribe la direccion del servidor que desees chequear ej. 'www.q3.nu' , 'www.altavista.com', etc. Si lo quieres por direccion IP entonces en vez de ClientSocket1.Host pones ClientSocket1.Address Para 'www.q3.nu' saldra algo parecido a esto... HTTP/1.1 200 OK Date: Thu, 24 Feb 2000 21:00:41 GMT Server: Apache 1.3.6 Skyport Version Server built May 4 1999 20:10:57 |