Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [Opgelost] Telnet in Bash programmeren  (gelezen 1202 keer)

Offline PH-MJS

  • Lid
[Opgelost] Telnet in Bash programmeren
« Gepost op: 2011/05/23, 16:46:10 »
Goedemiddag,

Ik zit even vast. Ik probeer een HTTP POST via telnet te maken via een script.
Momenteel heb ik dit:

(echo "POST /v2/notifier HTTP/1.1
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8
Connection: Keep-Alive

data=123

") | telnet localhost 80

het probleem is dat alleen de eerste regel wordt gelezen door de server. Heb het ook met verschillende "echo -e" geprobeerd maar daar trad hetzelfde euvel op.

Iemand enig idee?

Alvast bedankt!,
PH-MJS

EDIT:
Heb de code hierboven vervangen door het werkend exemplaar
« Laatst bewerkt op: 2011/05/23, 17:37:37 door PH-MJS »

Re: Telnet in Bash programmeren
« Reactie #1 Gepost op: 2011/05/23, 17:26:56 »
Ik heb geen verstand van het telnet programmaatje, maar met bash kan je op deze manier de tekst naar het commando pipen.
cat <<'EOF' |telnet localhost 80
POST /v2/notifier
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 8
Connection: Keep-Alive

data=123

EOF


Offline PH-MJS

  • Lid
Re: Telnet in Bash programmeren
« Reactie #2 Gepost op: 2011/05/23, 17:36:39 »
Ha Thomas,

Nee dat werkte ook niet maar heb het nu wel draaiend :D
Was vergeten om de server te laten weten welk protocol het was.
Dus regel 1 wordt (echo "POST /v2/notifier HTTP/1.1

Gr,
PH-MJS

Re: [Opgelost] Telnet in Bash programmeren
« Reactie #3 Gepost op: 2011/05/25, 07:29:03 »
Ik denk niet zozeer dat het direct aan je script ligt, eerder aan telnet. Heb het zelf ook wel eens handmatig met telnet geprobeerd, maar dan kreeg ik na de 1e regel al direct iets van "Invalid Request" ofzo...

Kun jij het wel handmatig vanuit een terminal?

Edit: Och, al opgelost...

Re: [Opgelost] Telnet in Bash programmeren
« Reactie #4 Gepost op: 2011/05/26, 17:20:19 »
Dit soort dingen moet je niet met telnet willen doen, die doet onderwater allerlei vage dingen. Gebruik liever het veel veelzijdigere netcat

sudo apt-get install netcat
In het onderstaande kun je dat "telnet" door "nc" vervangen.
URD - http://www.urdland.com - Usenet Resource Downloader