Hallo ihrs,
Gibts irgendwo eine fertige Lib zum Zugriff auf HTTP-Server in Shell? (bash) Ja, ich weiss in Perl gibts sowas aber meine Perlkenntnisse sind gleich 0. Mach ich im naechsten Leben,.
H.
On Mon, May 21, 2001 at 10:39:01AM +0200, Hilmar Preusse wrote:
Hallo ihrs,
Gibts irgendwo eine fertige Lib zum Zugriff auf HTTP-Server in Shell? (bash) Ja, ich weiss in Perl gibts sowas aber meine Perlkenntnisse sind gleich 0. Mach ich im naechsten Leben,.
Wenn du selber HTTP sprichst und nur jemanden benötigst, der TCP spricht, könntest du die Netzkatze probieren. Auf rudi findest du in /usr/share/doc/netcat/examples/scripts/ ein paar Beispiele.
Reinhard
On Monday 21 May 2001 10:57, Reinhard Foerster wrote:
On Mon, May 21, 2001 at 10:39:01AM +0200, Hilmar Preusse wrote:
Hallo ihrs,
Gibts irgendwo eine fertige Lib zum Zugriff auf HTTP-Server in Shell? (bash) Ja, ich weiss in Perl gibts sowas aber meine Perlkenntnisse sind gleich 0. Mach ich im naechsten Leben,.
Wenn du selber HTTP sprichst und nur jemanden benötigst, der TCP spricht, könntest du die Netzkatze probieren. Auf rudi findest du in /usr/share/doc/netcat/examples/scripts/ ein paar Beispiele.
telnet geht nach meiner Erfahrung schneller, da schon vorhanden: ---- $ telnet host 80 GET http://host/pfad HTTP/1.0
---- (das doppelte newline ist wichtig)
Aber Spass beiseite. Zum Angucken: lynx, besser w3m (kann auch frames) Zum ziehen: lynx -dump, wget
Konrad
On 21.05.01 Konrad Rosenbaum (konrad.rosenbaum@t-online.de) wrote:
Hallo,
Aber Spass beiseite. Zum Angucken: lynx, besser w3m (kann auch frames) Zum ziehen: lynx -dump, wget
Nein, es soll wirklich in Shell (also Kommandozeile realisiert werden). Genaue Spezifikation muß ich nochmal fragen. Sollte aber IMHO nicht so schwer sein. Wo kann man HTTP nachlesen (also GET und ähnl. Kommandos)?
H.
On Monday 21 May 2001 18:11, Hilmar Preusse wrote:
On 21.05.01 Konrad Rosenbaum (konrad.rosenbaum@t-online.de) wrote:
Aber Spass beiseite. Zum Angucken: lynx, besser w3m (kann auch frames) Zum ziehen: lynx -dump, wget
Nein, es soll wirklich in Shell (also Kommandozeile realisiert werden). Genaue Spezifikation muß ich nochmal fragen. Sollte aber IMHO nicht so schwer sein. Wo kann man HTTP nachlesen (also GET und ähnl. Kommandos)?
ähh, also, das sind reine Shell-Kommandos. Oder meinst Du mit Shell "Wir stressen die armen Studies mal mit Hardcore und verbieten fertige Tools."?
Installier Dir mal die RFC's (SuSE: serie doc, Paket rfc; Debian: Pakete rfc-*, siehe "apt-cache search rfc") und schau Dir u.a. die hier an:
1945 Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R. Fielding, H. Frystyk. May 1996. (Format: TXT=137582 bytes) (Status: INFORMATIONAL)
2068 Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee. January 1997. (Format: TXT=378114 bytes) (Obsoleted by RFC2616) (Status: PROPOSED STANDARD)
2069 An Extension to HTTP : Digest Access Authentication. J. Franks, P. Hallam-Baker, J. Hostetler, P. Leach, A. Luotonen, E. Sink, L. Stewart. January 1997. (Format: TXT=41733 bytes) (Obsoleted by RFC2617) (Status: PROPOSED STANDARD)
2616 Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. June 1999. (Format: TXT=422317, PS=5529857, PDF=550558 bytes) (Obsoletes RFC2068) (Updated by RFC2817) (Status: DRAFT STANDARD)
2617 HTTP Authentication: Basic and Digest Access Authentication. J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart. June 1999. (Format: TXT=77638 bytes) (Obsoletes RFC2069) (Status: DRAFT STANDARD)
weitere findest Du im rfc-index.txt.gz, falls Du noch nicht abgeschreckt bist.
Ein Vorschlag der reichen sollte: --------- host=ein.host.com port=80 proxy=$host proxyport=$port file='~username/file2.html' (echo GET http://$host:$port/$file HTTP/1.0 echo)|telnet $proxy $proxyport ---------
Solange Du keine Firewall überwinden mußt kannst Du auch $proxy und $host gleich lassen. Über weitere Pipes kannst Du den ganzen Kram dann in awk und Co. reinschleifen und den Header entfernen...
Konrad
On Mon, May 21, 2001 at 06:11:48PM +0200, Hilmar Preusse wrote:
Nein, es soll wirklich in Shell (also Kommandozeile realisiert werden). Genaue Spezifikation muß ich nochmal fragen. Sollte aber IMHO nicht so schwer sein. Wo kann man HTTP nachlesen (also GET und ähnl. Kommandos)?
Auf www.w3c.org sicher fix zu finden.
Reinhard
On Mon, May 21, 2001 at 05:48:36PM +0200, Konrad Rosenbaum wrote:
Wenn du selber HTTP sprichst und nur jemanden benötigst, der TCP spricht, könntest du die Netzkatze probieren. Auf rudi findest du in /usr/share/doc/netcat/examples/scripts/ ein paar Beispiele.
telnet geht nach meiner Erfahrung schneller, da schon vorhanden:
Nur wie willst du die Ein- und Ausgaben des Telnets in einem Shellskipt verarbeiten?
Reinhard
On Monday 21 May 2001 20:23, Reinhard Foerster wrote:
On Mon, May 21, 2001 at 05:48:36PM +0200, Konrad Rosenbaum wrote:
Wenn du selber HTTP sprichst und nur jemanden benötigst, der TCP spricht, könntest du die Netzkatze probieren. Auf rudi findest du in /usr/share/doc/netcat/examples/scripts/ ein paar Beispiele.
telnet geht nach meiner Erfahrung schneller, da schon vorhanden:
Nur wie willst du die Ein- und Ausgaben des Telnets in einem Shellskipt verarbeiten?
--------- (echo GET http://www.htw-dresden.de/ HTTP/1.0 ; echo ; sleep 5) \ |telnet www.htw-dresden.de 80 |awk -f somescript --------- sagt sicherlich alles. Wenn nicht: Heimatkunde wiederholen. ;-)
Konrad
On Mon, May 21, 2001 at 10:19:51PM +0200, Konrad Rosenbaum wrote:
(echo GET http://www.htw-dresden.de/ HTTP/1.0 ; echo ; sleep 5) \ |telnet www.htw-dresden.de 80 |awk -f somescript
sagt sicherlich alles. Wenn nicht: Heimatkunde wiederholen. ;-)
Soweit so gut. Das Problem daran ist, das das Ding hinter dem | bei Telnet mächtig kompliziert wird, weil du dort z.B. die ganzen Fehlermedungen von Telnet - falls die Verbindung mal nicht klappt - alles per Hand machen musst. Bei netcat musst du den ganzen Fehlerkrempel nicht per Hand raus- fischen. Das ist der (in meinen Augen) wesentliche Vorteil. Und sowas wie sleep 5 brauch man auch nicht, da netcat bei EOF nicht lokal die Verbindung abbricht sondern ggf. auf den Gegner wartet
Reinhard
lug-dd@mailman.schlittermann.de