Hitting a URL from the command line
July 11, 2007 9:13 AM Subscribe
Alternatives to lynx, wget and get from the unix command line?
I have a scheduled job that needs to hit a localhost URL once a day. Our servers don't have lynx or wget or get installed. Are there any alternatives? I've tried using telnet and Expect, and it works but when run through our scheduling app (Tivoli Workload Scheduler) I get a message "No environment-specified terminal type." even when I specify the terminal type. So I was wondering if there are other techniques I could try.
I have a scheduled job that needs to hit a localhost URL once a day. Our servers don't have lynx or wget or get installed. Are there any alternatives? I've tried using telnet and Expect, and it works but when run through our scheduling app (Tivoli Workload Scheduler) I get a message "No environment-specified terminal type." even when I specify the terminal type. So I was wondering if there are other techniques I could try.
curl. Or perl. Or python. Probably Ruby, too.
That said... wget is usually pretty easy to build/install locally if you have a shell and a compiler (./configure --prefix=/home/you/local or something like that, make, make install), so I usually do.
posted by namespan at 9:27 AM on July 11, 2007
That said... wget is usually pretty easy to build/install locally if you have a shell and a compiler (./configure --prefix=/home/you/local or something like that, make, make install), so I usually do.
posted by namespan at 9:27 AM on July 11, 2007
Assuming Perl is installed, you can install HTTP::Client locally and do
posted by nicwolff at 9:33 AM on July 11, 2007
perl -MHTTP::Client -e 'print HTTP::Client->new()->get("http://localhost/path")'
posted by nicwolff at 9:33 AM on July 11, 2007
nicwolff, i'll call your HTTP::Client and raise you an LWP:
posted by jozxyqk at 9:35 AM on July 11, 2007
perl -MLWP::Simple -e 'get("http://www.metafilter.com/")'
posted by jozxyqk at 9:35 AM on July 11, 2007
'lwp-request' is the perl answer. Fabulously useful tool, that.
I use 'lwp-request -Sexd' for a variety of tests, and also because it's easy to remember.
posted by jquinby at 9:36 AM on July 11, 2007
I use 'lwp-request -Sexd' for a variety of tests, and also because it's easy to remember.
posted by jquinby at 9:36 AM on July 11, 2007
Whoops, throw a
posted by nicwolff at 9:38 AM on July 11, 2007
-l/home/you/lib
(or whatever) in there if you've installed HTTP::Client under your user dir.posted by nicwolff at 9:38 AM on July 11, 2007
Yeah, I'd normally use LWP since it's installed here, but if it's not it's a lot to install just to make a simple HTTP request...
posted by nicwolff at 9:39 AM on July 11, 2007
posted by nicwolff at 9:39 AM on July 11, 2007
Ah, also see if 'netcat' is installed. If it is, you can do something like this:
nc -v www.somewebsite.com 80
...and pass it "GET / HTTP/1.0\r\r"
posted by jquinby at 9:41 AM on July 11, 2007
nc -v www.somewebsite.com 80
...and pass it "GET / HTTP/1.0\r\r"
posted by jquinby at 9:41 AM on July 11, 2007
PHP is also an option:
php -r "file('http://metafilter.com/');"
posted by scottreynen at 11:18 AM on July 11, 2007
php -r "file('http://metafilter.com/');"
posted by scottreynen at 11:18 AM on July 11, 2007
if it's a BSD, there's a chance you'll have fetch installed. Worth a quick check, unless you're just working with a seriously stripped down server.
posted by Arturus at 9:46 PM on July 11, 2007
posted by Arturus at 9:46 PM on July 11, 2007
This thread is closed to new comments.
posted by demiurge at 9:25 AM on July 11, 2007