httpforge creates or alters HTTP requests.
Without any option, httpforge writes a GET request for the URI / with HTTP protocol version 1.0
> httpforge
GET / HTTP/1.0
-m METHOD, --method=METHOD | |
Set request method. The method may be any string. Try GET, POST, HEAD, OPTIONS and TRACE. > httpforge -m HEAD
HEAD / HTTP/1.0
| |
-u URI, --uri=URI | |
Set request URI. > httpforge -u "/index.php"
GET /index.php HTTP/1.0
| |
-a, --alter | Read a request from standard input and modify it. > httpforge -m HEAD | httpforge -a -u "/index.php"
HEAD /index.php HTTP/1.0
|
-p VERSION, --protocol=VERSION | |
Set HTTP protocol version. > httpforge -p 1.1
GET / HTTP/1.1
| |
-s HEADER, --set-header=HEADER | |
Add or change a header. You can use this option several times. > httpforge -s "Host: www.aspyct.org" -s "Accept: text/html"
GET / HTTP/1.0
Host: www.aspyct.org
Accept: text/html
| |
-b BODY, --body=BODY | |
Set the body of the request. See also -l. > httpforge -b "username=foo&password=bar"
GET / HTTP/1.0
username=foo&password=bar
| |
-l, --content-length | |
Automatically adds the Content-Length header according to the request body. > httpforge -b "username=foo&password=bar" -l
GET / HTTP/1.0
Content-Length: 25
username=foo&password=bar
|
Request the HEAD for /doku.php on www.aspyct.org
> httpforge -m HEAD -u "/doku.php" -s "Host: www.aspyct.org"
HEAD /doku.php HTTP/1.0
Host: www.aspyct.org
Modify a stored request to adapt to a specific host
> httpforge -a -s "Host: www.aspyct.org" < request
POST /doku.php HTTP/1.0
Content-Length: 28
Host: www.aspyct.org
username=admin&password=pass