Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
er det ikke litt enklere å bare bruke wget?

I grunn ...

 

men her er et i Common Lisp (edit: SBCL):

(let* ((crlf (format nil "~A~A" #\Return #\Newline))
   (con (make-instance 'Com:Connection
             :host "nostdal.org"
             :port 80
             :handler 
             (lambda (conn sstream)
              (format sstream "GET /~~lars/ HTTP/1.1~A" crlf)
              (format sstream "Connection: close~A" crlf)
              (format sstream "Host: nostdal.org~A~A" crlf crlf)
              (loop
               (let ((txt (read-line sstream nil)))
               	(if (equal txt nil)
                 	(return))
               	(format t "~A~%" txt)))
              (close sstream)))))
(Com:connect con))

 

..og..

 

(defclass Connection ()
((name :accessor name :initform "no name")
 (handler :accessor handler :initarg :handler)              ; The function that does the serving; it must return as soon as possible, enabling the listener to continue.
 (host :accessor host :initarg :host :initform "0.0.0.0")
 (port :accessor port :initarg :port :initform 10000)
 (status :accessor status :initform :none)                  ; :incoming :outgoing or :listening.
 (socket :accessor socket)
 (thread :accessor thread)
 (backlog :accessor backlog :initarg :backlog :initform 20)))

(defmethod connect ((o Connection))
(setf (status o) :outgoing)
;; Create socket.
(setf (socket o) (make-instance 'INET-SOCKET     
               	:TYPE :STREAM 
               	:PROTOCOL :TCP))
;; Connect socket.
(SOCKET-CONNECT (socket o) 
       	(HOST-ENT-ADDRESS 
         (GET-HOST-BY-NAME (host o))) (port o))
;; We are connected, so create a stream and call the handler.
(funcall (handler o) o
     (SOCKET-MAKE-STREAM (socket o)
               :OUTPUT t
               :INPUT t
               :BUFFERING :NONE)))

 

..noe sånnt.. under evaluering av den første kodesnutten får jeg dette skrevet ut:

HTTP/1.1 200 OK

 

Date: Thu, 27 Jan 2005 12:35:18 GMT

 

Server: Apache/2.0.52 (Gentoo/Linux) mod_python/3.1.3 Python/2.3.4 mod_ruby/1.2.4 Ruby/1.8.2(2004-12-22) PHP/5.0.3

 

Last-Modified: Sun, 23 Jan 2005 13:56:00 GMT

 

ETag: "47792-2e2-71911c00"

 

Accept-Ranges: bytes

 

Content-Length: 738

 

Connection: close

 

Content-Type: text/html; charset=ISO-8859-1

 

 

 

<html>

<head>

<title>Lars</title>

</head>

 

<body bgcolor="#667777">

 

<h1>Lars</h1>

 

<img src="lars.jpg" border="0">

<p/>

 

 

<h2>Tidsfordriv</h2>

 

Programmerer i C/C++ og Common Lisp, og hører masse på musikk.

 

 

<h2>Kontakt meg</h2>

 

<table border="0">

<tr>

<td>

adresse:

</td>

<td>

Lars Rune Nøstdal<br/>

Blekebakkveien 24<br/>

 

3725 SKIEN<br/>

</td>

<tr>

<td>

email:

</td>

<td>

[email protected]

</td>

<tr>

<td>

skype:

</td>

<td>

larsnostdal

</td>

 

<tr>

<td>

msn:

</td>

<td>

[email protected]

</td>

<tr>

<td>

icq:

</td>

<td>

49331211

</td>

<tr>

<td>

irc:

 

</td>

<td>

#programmering @ undernet (jeg har en av nickene: daysleper, daysle|dt eller daysle|lt)

</td>

<tr>

<td>

mobil:

</td>

<td>

400 4848 3

</td>

</tr>

</table>

 

</body>

 

</html>

Endret av søppel
Lenke til kommentar

lisp? hehe, når folk ikke engang klarer å skrive hvilket OS de bruker går jeg utifra at de bruker Windows jeg... :-P Folk som er smarte nok til å bruke Linux er som regel smarte nok til å vite at de skal skrive det i forumet også.. I tillegg er det vel ingen som bruker linux som ikke vet om wget?

 

 

Uansett... lisp? Det er jo bare å skremme bort karen fullstendig, om han bruker linux må det jo være enklere å bruke et enkelt bash-script eller php.

Lenke til kommentar

.vbs filer kan du dobbeltklikke på for å starte i Windows.

 

Hvis du hadde forklart hva du ville frem til så hadde det kanskje vært andre/bedre måter å gjøre dette på. Hva skal du gjøre med websiden du laster ned f.eks.? Hvordan vil du starte nedlastningen (ved å dobbeltklikke på et icon? en gang i timen?..etc?)...

Lenke til kommentar

Det finnes implementasjoner av Lisp til Windows også.

 

Angående det andre du snakker om så har jeg aldri vært borti mer lettvinnte språk enn de i Lisp-familien. Smaksak kanskje. Når han sier "samme hvilket" - så er det vel "samme hvilket".

 

Skriv et i bash om du vil - jeg skal ikke fortelle deg at det er mer tungvinnt/lettvinnt enn å gjøre det i Common Lisp.

Endret av søppel
Lenke til kommentar

Søppel:

 

Hvorfor skal jeg det? Tror du ikke det skjer ting "bak" lisp koden også? Eller tror du CPU'n din automatisk forstår lisp-funksjonene?

 

Jeg sier ikke at lisp ikke er mer cpu-vennlig, men vi lever i år 2005 og sitter ikke fremdeles på 286. Karen spurte om å "laste ned en webside", ikke "lage en superavansert spider som skal laste ned en million websider i timen".

 

btw: jeg koder ikke VB/VBS, men hender at jeg bruker det.. alt til sitt bruk.

Lenke til kommentar

jorn79:

btw: jeg koder ikke VB/VBS, men hender at jeg bruker det.. alt til sitt bruk.

Hva er det du egentlig prøver å si? Erru redd eller? Hææ? hææ? .. Tror du virkelig jeg er så grunn at jeg dømmer folk basert på hvilke språk de bruker/paster/whatever?

 

Edit:

Alt det andre du snakker om kan du bare droppe .. fatter ikke at du går inn på det en gang. .. *shrug*

 

...jeg bryr meg ikke... "samme hvilket" sa fyren; da ble det-det-det ble.

Endret av søppel
Lenke til kommentar
Bruk wget du. Det er nok lettest.

 

 

Sikker på at .vbs filen ikke heter .vbs.txt? XP gjømmer vel filendelsen som default.

 

Fjern krysset i Explorer - Tools - Options - Hide extension for known filetypes <-- sånn ca.

seff heter den ikke txt, da hadde den jo åpnet seg i notepad og jeg hadde ikke fått opp den "åpne i" saken

 

kan litt da, er tross alt sysadmin :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...