Acabei usando lynx
em um sistema FreeBSD; inicialmente usado a opção -dump
, que permitia ver os redirecionamentos, mas apenas saída e não conteúdo; em seguida, descobriu a opção -source
, que mostra a origem / HTML e não tenta renderizá-la.
Eu também usei a opção -useragent
para fingir que eu era um iPhone fazendo a descoberta WISPr, e também tentei obter uma das páginas que o iPhone tenta descobrir se está lidando com um portal cativo ( link ).
Eu também tive que lidar com o fato de o portal cativo do FON ser autoassinado (?), ou o meu FreeBSD não sabe o certificado raiz SSL subjacente. (Eu não perdi muito tempo traçando isso); Eu apenas tive que configurar o lynx para aceitar certificados auto-assinados (vou escrever a questão mais tarde e ter um link aqui).
Então os comandos reais que eu usei:
lynx -useragent=CaptiveNetworkSupport -dump http://www.apple.com/library/test/sucess.html
e no entanto, enquanto o primeiro tem utilidade, o que mais me interessou foi:
lynx -useragent=CaptiveNetworkSupport -source http://www.apple.com/library/test/sucess.html
Usando a última linha de comando, devolvi-me o código-fonte HTML com as tags WISPr incorporadas.
De man lynx
-dump dumps the formatted output of the default document or those specified on the command line to standard output. Unlike interactive mode, all documents are processed. This can be used in the following way: lynx -dump http://www.subir.com/lynx.html Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as ".htm" or ".html". Use the -force_html option to format files whose names do not follow this convention. -source works the same as dump but outputs HTML source instead of formatted text. For example lynx -source . >foo.html generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF's relative to the current directory: lynx -source ./ >foo.html
retirado da página de login capturada:
<!-- WISPr message -->^M
<span class="displayNone"><!--<?xml version="1.0" encoding="UTF-8"?>^M
<WISPAccessGatewayParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.acmewisp.com/WISPAccessGatewayParam.xsd">^M
<Redirect>^M
<AccessProcedure>1.0</AccessProcedure>^M
<LoginURL>https://xxxx/captive/noswifi?hmac=xxxx&res=notyet&uamip=xxxx&uamport=80&userurl=&challenge=xxxxxxe&nasid=BC-14-01-XX-XX-XX&mac=00-15-AF-XX-XX-XX</LoginURL>^M
<AbortLoginURL>http://xxxx:80/captive/logoff</AbortLoginURL>^M
<MessageType>100</MessageType>^M
<ResponseCode>0</ResponseCode>^M
<AccessLocation>FonZON:PT</AccessLocation>^M
</Redirect>^M
</WISPAccessGatewayParam>-->^M
</span>