httpxtran

Gene Michael Stover

created Tuesday, 2005 November 1
updated Saturday, 2006 March 17

Copyright © 2006 Gene Michael Stover. All rights reserved. Permission to copy, store, & view this document unmodified & in its entirety is granted.


Contents

1 What is this?

Unfinished. A work in progress. As of 2006 November 16, just a prototype & proof of concept.

It runs on Windows only because it uses WinINET & WinHTTP.

2 License

Here is a copy of the license agremeent that is on the source code. The same agreement appears in each source code file.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ``Software''), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL GENE MICHAEL STOVER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Gene Michael Stover shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Gene Michael Stover.

3 Requirements

4 Basic usage

5 Examples

6 Detailed usage / manual

6.1 Name

httpxtran - HTTP transactions from the command line

6.2 Synopsis

6.3 Description

httpxtran performs transactions over HTTP. It can send a payload & save the reply to a destination file. This functionality can be used to download individual files from HTTP servers, to upload files to servers, or to execute a poor man's remote procedure call system over HTTP (if you prepare the payload & extra headers carefully).

url identifies the remote resource. This is required.

-h
(Help) print these instructions

-g
Enable debugging output. Default is disabled debugging output.

-m method
tells which networking & HTTP library to use. Permitted values are ``wininet'' or ``winhttp''. (It is not case-sensitive.) Default is ``wininet''

-i payload
identifies a file which contains the payload to send to the server. If you don't specify this, it doesn't send any payload, which would be appropriate if you are just retrieving a file.

-o output
identifies a file in which to save the reply. If you don't specify this, the reply goes to Standard Output (stdout).

-p proxy
specifies the HTTP proxy to use. If you don't use this option, httpxtran uses the global, default proxy settings.

-l login
is the user name to supply to the proxy. Without it, does not supply any user name to the proxy.

-x password
is the password for the proxy. Without it, does not supply any password to the proxy.

7 Source code & executables

fixme: The source code is not ready for distribution. Download, unpack, attempt to comprehend, attempt to compile, & attempt to use at your own risk.

The entire source code (for Microsloth Winders only) is in httpxtran.zip.

Here is a list of individual files, both source code & executables.

A. Other File Formats

Bibliography

Gene Michael Stover 2008-04-20