-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
https://pike.lysator.liu.se/docs/tut/browser/fetching_the_page.md
Example with "curl" code doesn't output " Failed!" message when URL is invalid but it dumps a lot of errors and the program is terminated. It is possible that the code was working in the past but it needs an update.
$ ./webbrowser.pike cod.lysator.liu.se
Welcome to the Very Simple WWW Browser!
Fetching URL 'cod.lysator.liu.se'...Standards.URI: got a relative URI (no scheme) lacking a base_uri!
/usr/lib/pike8.0/modules/Standards.pmod/URI.pike:271: URI("")->reparse_uri(UNDEFINED)
/usr/lib/pike8.0/modules/Standards.pmod/URI.pike:418: URI("")->create("cod.lysator.liu.se",UNDEFINED)
/usr/lib/pike8.0/modules/Protocols.pmod/HTTP.pmod/module.pmod:294:
Protocols.HTTP.do_method("GET","cod.lysator.liu.se",UNDEFINED,UNDEFINED,UNDEFINED,UNDEFINED)
/usr/lib/pike8.0/modules/Protocols.pmod/HTTP.pmod/module.pmod:666:
Protocols.HTTP.get_url("cod.lysator.liu.se",UNDEFINED,UNDEFINED,UNDEFINED)
webbrowser.pike:9: /main()->handle_url("cod.lysator.liu.se")
webbrowser.pike:39: /main()->main(2,({"/home/psl/webbrowser.pike","cod.lysator.liu.se"}))
$ pike -v
Pike v8.0 release 1956 Copyright © 1994-2025 Linköping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.
Other issue on that tutorial page is that I cannot run the code from interpreter. This is in tutorial:
> webbrowser.pike pike.lysator.liu.se
Welcome to the Very Simple WWW Browser!
Fetching URL 'pike.lysator.liu.se'... Done.
And this is reality in pike8.0:
> webbrowser.pike pike.lysator.liu.se
>>
Other issue is that "URI scheme" is mandatory in 2025, example from tutorial fails with an error:
$ ./webbrowser.pike pike.lysator.liu.se
Welcome to the Very Simple WWW Browser!
Fetching URL 'pike.lysator.liu.se'...Standards.URI: got a relative URI (no scheme) lacking a base_uri!
/usr/lib/pike8.0/modules/Standards.pmod/URI.pike:271: URI("")->reparse_uri(UNDEFINED)
/usr/lib/pike8.0/modules/Standards.pmod/URI.pike:418: URI("")->create("pike.lysator.liu.se",UNDEFINED)
/usr/lib/pike8.0/modules/Protocols.pmod/HTTP.pmod/module.pmod:294:
Protocols.HTTP.do_method("GET","pike.lysator.liu.se",UNDEFINED,UNDEFINED,UNDEFINED,UNDEFINED)
/usr/lib/pike8.0/modules/Protocols.pmod/HTTP.pmod/module.pmod:666:
Protocols.HTTP.get_url("pike.lysator.liu.se",UNDEFINED,UNDEFINED,UNDEFINED)
webbrowser.pike:9: /main()->handle_url("pike.lysator.liu.se")
webbrowser.pike:39: /main()->main(2,({"/home/psl/webbrowser.pike","pike.lysator.liu.se"}))
When URI is valid (URL starts with http:// or https://), it works:
$ ./webbrowser.pike http://pike.lysator.liu.se
Welcome to the Very Simple WWW Browser!
Fetching URL 'http://pike.lysator.liu.se'... Done.
Metadata
Metadata
Assignees
Labels
No labels