Предыдущая страница [1] > 2 <

Автор Сообщение

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#1368   2010-02-11 23:11 GMT+3 часа(ов)      
Цитата
Михаил :
Это я кто? это ты - кто, епта.

Ладно, проехали) А объяснить-то, чем Gambit не угодил можно?

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#1487   2010-02-18 00:37 GMT+3 часа(ов)      
Решил чуток обновить.
(define (text-downloader url #!key save-as)
(call/cc
(lambda (return)
(let* ((url-separate
(lambda(u)
(let* ((ul (string->list u))
(h (let loop ((l ul))
(cond
((null? l) l)
((eq? (car l) #\/) '())
(else (cons (car l) (loop (cdr l)))))))
(fp (memq #\/ ul)))
(if (eq? (car ul) #\/)
(return #f)
(cons (list->string h)
(if fp (list->string fp) "/"))))))
(pair-url (if (string? url)
(url-separate url)
(return #f)))
(host-port (open-tcp-client
(list server-address: (car pair-url)
port-number: 80)))
(fport (if (string? save-as)
(if (zero? (string-length save-as))
(current-output-port)
(open-output-file save-as))
(current-output-port))))
(display
(string-append
"GET " (cdr pair-url) " HTTP/1.0\n"
"Host: " (car pair-url) "\n"
"User-Agent: FuckZilla\n"
"\n")
host-port)
(force-output host-port)
(let ((header
(let ((s ""))
(do ((str (read-line host-port) (read-line host-port)))
((cond
((eof-object? str) #t)
((string=? str "\r") #t)
(else #f)) )
(set! s (string-append s str)))
s)))
(do ((str (read-line host-port) (read-line host-port)))
((eof-object? str) )
(begin
(display str fport)))
(close-output-port fport)
(close-port host-port)
(display header))))))
;(text-downloader "www.lisp.ru/forums.php?m=posts&q=206&n=last#bottom" save-as: "c:\index.html")

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#1488   2010-02-18 00:40 GMT+3 часа(ов)      
В принципе, те же яйца, только в профиль


Онлайн :

0 пользователь(ей), 27 гость(ей) :




Реклама на сайте: