GET funciona mas o telnet não (HTTP GET)

0

Eu tentei isso do bash:

GET http://cetatenie.just.ro HTTP/1.1

Funciona bem, e eu consigo acessar a página, então tento isso do telnet:

telnet cetatenie.just.ro 80 
Trying 85.120.166.76...
Connected to cetatenie.just.ro.
Escape character is '^]'.
GET / HTTP/1.1
Host: cetatenie.just.ro

Eu recebo um Internal Server Error (código de erro Http 500)

O problema é que eu realmente não tenho acesso ao servidor (é um aplicativo implantado no IIS 7). Por que executar um trabalho GET e acessá-lo através de telnet não?

Tudo o que consegui pensar foi que precisava enviar alguns cabeçalhos adicionais. Eu tentei usar o Live Http Headers e enviar a mesma coisa que eles fazem:

http://cetatenie.just.ro/

GET http://cetatenie.just.ro/ HTTP/1.1
Host: cetatenie.just.ro
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Proxy-Connection: keep-alive
Cookie: .ASPXANONYMOUS=Ij8RLazqzAEkAAAAMTk5ZjY0MGUtYWU0NC00ZmViLTgyNTgtMWU0MjNlM2IyZWEx0; language=en-US

Mas ainda não funciona com o telnet.

    
por Eugene 12.12.2011 / 09:42

2 respostas

3

O servidor (Servidor: Microsoft-IIS / 7.5) também precisa de um HOST -header, bem como o USER-AGENT -header, tentei isto:

 telnet cetatenie.just.ro 80 
 Trying 85.120.166.76...
 Connected to cetatenie.just.ro.
 Escape character is '^]'.
 GET / HTTP/1.1
 HOST: cetatenie.just.ro
 USER-AGENT: Foobar

e funcionou.

    
por 12.12.2011 / 10:23
1

Eu tentei do jeito que você descreve e também falha por mim.

No entanto, consegui fazê-lo funcionar.

Adicione o cabeçalho do agente do usuário. por exemplo. "User-Agent: wget / 1.12"

Você também pode querer colocar o cabeçalho do Connection.
ou seja, "Conexão: Keep-Alive" ou "Conexão: Fechar"

Se você quiser diagnosticar algo assim, basta carregar uma ferramenta como o wireshark. Está disponível para windows, linux e mac. Isto é quando se olha porque wget também funcionou. Eu adivinhei o campo user-agent e, em seguida, verifiquei manualmente com o telnet. Com certeza - sucesso!.

    
por 12.12.2011 / 10:42

Tags