我的网址 (http://myhost.com/getuser/Default.aspx?username=b772643) 总是返回以下信息行:
John, Thomas;John.B.Thomas@Company.com
我希望能够使用shell或bash脚本读取这行内容,而无需使用wget/lynx。我处于不能使用其他工具、perl语言等的情况。
Curl或wget显然更适合这项工作,但是为了记录,bash和Unix标准命令(cat和printf)也可以完成任务。
ksh引入了shell网络内部处理方法,并被bash采用。
#!/bin/bash
exec 5<> /dev/tcp/myhost.com/80
cat <&5 &
printf "GET /getuser/Default.aspx?username=b772643 HTTP/1.0\r\n\r\n" >&5
(exec 5<> /dev/tcp/www.google.com/80;cat <&5 &;printf "GET /index.html HTTP/1.0\r\n\r\n" >&5)
- jlliagre一句话概括:
(echo 'GET /getuser/Default.aspx?username=b772643' > /dev/tcp/myhost.com/80);
curl "http://myhost.com/getuser/Default.aspx?username=b772643"
curl "http://myhost.com/getuser/Default.aspx?username=b772643"| sed 's/\(.*\);\(.*\)/\2 \1/' | while read email name; do echo =$email=$name=; done
您可以使用:
curl "http://myhost.com/getuser/Default.aspx?username=b772643"