Author: Philip S Tellis
$Date: 2002 August 26$
httptype is a program that returns the http host software of a website. It is written in Perl.
Current development version is 1.3.9
Current stable version is 1.2.3
See the Changelog for list of changes.
You can download stable and development versions of httptype from the project page. There's also patches avaialable there to upgrade from one version to the next.
Run make install as root. It was tested using Perl 5.005 patch 3 but should work with older versions of Perl.
First try running the program with the --trace and --debug options. That should give you some hints about where the problem is. You can mail me this output along with a description of your problem and I will try to fix it as soon as possible.
httptype reads a list of http hosts and optionally the port number for each of these. It then queries each of the hosts and displays the HTTP server software of the host.
Input may be read from a host file if specified using the --hosts switch:
httptype --hosts [hostfile]
If hostfile is omitted or `-', httptype reads from standard input. See Format of host file for more info.
A single host may be queried by passing it's name on the command line:
httptype host [port]
If port is omitted, 80 is used.
If no host file is specified through the --hosts file and no host is specified on the command line, httptype will read the list from standard input. See Format of host file for more info.
httptype --help or man httptype
httptype will read the http_proxy environment variable and try to determine if a proxy server is being used. This setting may be overridden using the --proxy switch:
httptype --proxy proxyhost[:proxyport]
If proxyport is omitted, 80 is used.
If the proxy server is `none', no proxy is used. This is typically used to prevent httptype from using the proxy server specified by http_proxy. The --noproxy switch can be used to achieve the same.
Additionally, you may use the no_proxy environment variable to specify a comma delimited list of hosts for which httptype should not use the proxy. If httptype comes across any of these hosts, it will make a direct connection to them.
<hostfile> ::= <comments> | <blank lines> | <host lines> | <urls> <string> ::= <char> | <char><string> <char> ::= any of the 128 ASCII characters except <CR> and <LF> <comments> ::= '#' <string> <LF> <blank str> ::= <LWS> | <HTAB> | <LWS> <blank str> | <HTAB> <blank str> <blank lines> ::= <blank str> <LF> <hostname> ::= <a FQDN or IP address of a HTTP host> <port number> ::= <a numeric port number> | <port name defined in services file> <separator> ::= <LWS> | ':' | ',' <host lines> ::= <hostname> [<separator> <port number>] <LF> <urls> ::= http://<hostname>[:<port number>][/<string>] <LF>
httptype was written by Philip S Tellis. The Copyright of this program lies with the author. The program is distributed under the GNU GPL. The GNU General Public Licence is outlined in the file Copying that accompanies this package.
Valuable suggestions and source code for proxy support was supplied by
Binand Raj S.
Thanks to Subhas Roy for pointing out a bug in the no_proxy code.
Thanks to Marco Giardini for pointing out a bug in http_proxy code.
Thanks to Jay Wardle for pointing out warnings with barewords. I still don't know why it didn't show up in my compiler.
Thanks to Dennis Leeuw for pointing out a problem with --showreal with some dns.
Thanks to Josef Radinger for suggesting the --timeout option.
Thanks to Dimi Shahbaz for suggesting the --url option.
Thanks to G. Vieri for the patch to check for Servlet-Engine.
Thanks to members of ilug-bom for beta testing this program.
If at some point I manage to throw in support for detecting the OS, I will have to thank Subhas Roy for pointing me in the right direction.