2010-11-11 27 views
14

Używam klienta telnet Ubuntu. Próbuję wysłać 2 wiersze za pośrednictwem połączenia Telnet, które zrobiłem.Jak wysłać powrót karetki przez telnet?

Na przykład

> telnet en.wikipedia.org 80 
    GET /wiki/Main_Page http/1.1 <CR>       // line 1 
    Host: en.wikipedia.org   <CR>       // line 2 
    <CR> 

gdzie oznacza CR powrotu karetki. Problem jest po wpisaniu wiersza 1, naciśnij CR, linia zostanie wysłana przez połączenie telnet. Nie mogę natychmiast wysłać linii 2.

Czy ktoś może pomóc?

+0

Czy próbowali ucieczki z '\', to znaczy, GET/wiki/Main_Page HTTP/1.1 \ corriganjc

Odpowiedz

11

Podczas pracy z klientem Telnet wysłanie do klienta kodu nowej linii lub kodu powrotu karetki spowoduje wysłanie go bezpośrednio do hosta.

Najprostszym sposobem zrobienia tego, co chcesz, byłoby skopiowanie/wklejenie żądania HTTP GET z innego edytora tekstu, aby nowe wiersze zostały osadzone w tekście.

+0

bardzo dziękuję. uratujesz mi życie :-) – root

+3

, aby wyjaśnić, wydaje się, że naciśnięcie klawisza Enter w sesji telnet zawsze będzie wysyłać '\ r ' lub '\ r \ n'. Jedynym sposobem na przesłanie tylko '\ n' na końcu linii jest skopiowanie/wklejenie z innego miejsca, takiego jak edytor. – Mark

30

Możesz ustawić opcję crlf w telnet. Możesz to zrobić, podczas sesji telnetu, wpisując znak ucieczki (^)), a następnie "przełącz crlf". Może przejrzysty sposób jest określić to przed dokonaniem połączenia:

$ telnet 
telnet> toggle crlf 
Will send carriage returns as telnet <CR><LF>. 
telnet> open mailhost smtp 
+0

W Windows 8.1 powinieneś użyć "set crlf" zamiast "toggle crlf" – kirugan

Powiązane problemy