I'm in the need of a tool to help debugging a webapp - anyone know of some simple client tools that allow you to easily send and construct customizable POST/GET/PUT/DELETE HTTP requests ?
The grandaddy of them all is telnet. Just open a connection on Port 80 and type in the raw commands. Most of the basic Internet protocols such as HTTP and mail are text-based and this is part of the reason why.
Of course, if you prefer something more abstract, there are also command-line utilities like wget and curl.
Some curl
examples:
GET
curl -HAccept:text/plain http://example.com/base
PUT
curl -XPUT -HContent-type:text/plain --data "stuff:morestuff" http://example.com/base?param=val
DELETE
curl -XDELETE http://example.com/base/user/123
POST
curl -d "param1=value1¶m2=value2" http://example.com/base/
For non-automated testing, the Live HTTP Headers add-on for Firefox can be used to alter and replay requests. (It can also change the request method; though the request method dropdown only shows GET and POST, one can actually type whatever one likes, even invalid methods. One could also type the whole request payload, but I assume the other answers offer better solutions for that.)
The online Web-Sniffer might be useful to see a response without rendering it.
(The Web Developer Toolbar can easily change the method
attribute in a <form>
itself, which after submitting once might make it easy to change request parameters, in some limited cases. One can achieve the same with any tool like Firebug or Web Inspector.)
I run into free tool to send http post testing tool for windows you can try it. It send text from a file or by size.
@adib - You mentioned a utility for the Mac. I've been using Http Client (http://ditchnet.org/httpclient/) and have had no problems with it at all. Supports GET, POST, PUT, DELETE, TRACE, OPTIONS, HEAD, CONNECT.
Hope that helps :)
yes httpclient is great but is missing proxy support which is very handy