This commit is contained in:
finga 2020-01-11 17:28:44 +01:00
commit c531fc3238
2 changed files with 43 additions and 0 deletions

34
src/main.rkt Normal file
View file

@ -0,0 +1,34 @@
#lang racket
(require net/url
html
xml
xml/path)
(define verbose-mode (make-parameter #f))
(define uri
(command-line
#:program "linky-pinky"
#:once-each
[("-v" "--verbose") "Verbose output"
(verbose-mode #t)]
#:ps "Check dead links."
#:args (url/filename) ; expect one command-line argument: <url/filename>
;; return the argument as a filename to compile
url/filename))
(define (read-html-as-xexprs in)
(caddr
(xml->xexpr
(element #f #f 'root '()
(read-html-as-xml in)))))
(define (get-urls url)
(se-path*/list '(a #:href) (call/input-url
(string->url url)
get-pure-port
read-html-as-xexprs)))
;; (get-urls "file:///home/finga/src/linky-pinky/src/test.html")
(get-urls uri)

9
test/test.html Normal file
View file

@ -0,0 +1,9 @@
<html>
<head>
</head>
<body>
<a href="/dev/null">/dev/null</a>
<br>
<a href="/etc/passwd">/etc/passwd</a>
</body>
</html>