Simple service for testing HTTP/HTTPS requests. All endpoint responses are JSON-encoded exclude /status/{status_code: int}. It's useful for testing how your own scripts deal with varying responses and requests.
- / — Show home page
- /ip — Returns client IP and proxies
- /get — GET method
- /post — POST method
- /put — PUT method
- /head — HEAD method
- /options — OPTIONS method
- /delete — DELETE method
- /user-agent — Returns user agent
- /headers — Returns sended headers
- /cookies — Returns all user cookies
- /cookies/set/{name: str}/{value: str} — Setup given name and value on client
- /status/{status_code: int} — Returns given HTTP status code
- /basic-auth/{username: str}/{password: str} — Basic access authentication
- /digest-auth/{qop: auth | auth-int}/{username: str}/{password: str} — Digest access authentication
-
100 — Continue
-
101 — Switching Protocols
-
200 — OK
-
201 — Created
-
202 — Accepted
-
203 — Non-Authoritative Information
-
204 — No Content [ Won't return a response body ]
-
205 — Reset Content [ Won't return a response body ]
-
206 — Partial Content
-
300 — Multiple Choices
-
301 — Moved Permanently [ Will also return this extra header: Location: http://http.obout.ru ]
-
302 — Found [ Will also return this extra header: Location: http://h.wrttn.me ]
-
303 — See Other [ Will also return this extra header: Location: http://h.wrttn.me ]
-
304 — Not Modified [ Won't return a response body ]
-
305 — Use Proxy [ Will also return this extra header: Location: http://h.wrttn.me ]
-
306 — (Unused)
-
307 — Temporary Redirect [ Will also return this extra header: Location: http://h.wrttn.me ]
-
400 — Bad Request
-
401 — Unauthorized [ Will also return this extra header: WWW-Authenticate: Basic realm="Fake Realm" ]
-
402 — Payment Required
-
403 — Forbidden
-
404 — Not Found
-
405 — Method Not Allowed
-
406 — Not Acceptable
-
407 — Proxy Authentication Required [ Will also return this extra header: Proxy-Authenticate: Basic realm="Fake Realm" ]
-
408 — Request Timeout
-
409 — Conflict
-
410 — Gone
-
411 — Length Required
-
412 — Precondition Failed
-
413 — Request Entity Too Large
-
414 — Request-URI Too Long
-
415 — Unsupported Media Type
-
416 — Requested Range Not Satisfiable
-
417 — Expectation Failed
-
500 — Internal Server Error
-
501 — Not Implemented
-
502 — Bad Gateway
-
503 — Service Unavailable
-
504 — Gateway Timeout
-
505 — HTTP Version Not Supported
curl [http://h.wrttn.me/get](http://h.wrttn.me/get) | python -mjson.tool
{
"args": {},
"headers": {
"Accept": "*/*",
"Host": "h.wrttn.me",
"User-Agent": "curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15"
},
"url": " http://h.wrttn.me/get"
}
curl -X POST -F "name=value" http://h.wrttn.me/post | python -mjson.tool
{
"args": {
"name": [
"value"
]
},
"body": "------------------------------eb288eb3d3e4\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nvalue\r\n------------------------------eb288eb3d3e4--\r\n",
"files": {},
"headers": {
"Accept": "*/*",
"Content-Length": "144",
"Content-Type": "multipart/form-data; boundary=----------------------------eb288eb3d3e4",
"Expect": "100-continue",
"Host": "h.wrttn.me",
"User-Agent": "curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15"
},
"ip": "127.0.0.1",
"request_time": 0.04458308219909668,
"start_time": 1313996082.806412,
"url": "http://h.wrttn.me/post"
}
curl -X POST -F "test_files=@/tmp/testfile1.txt" -F "test_files=@/tmp/testfile2.txt" http://h.wrttn.me/post | python -mjson.tool
{
"args": {},
"files": {
"pictures": [
{
"body": ";klrjewfghjnq3rjehg;fqnr___j3bnr4lgfbv4riy5bguy4br5y\n",
"content_type": "text/plain",
"filename": "testfile1.txt"
},
{
"body": ";klrlfkejwknfqwdrkjnbkfgjb3erj\n",
"content_type": "text/plain",
"filename": "testfile2.txt"
}
]
},
"body": "",
"headers": {
"Accept": "*/*",
"Content-Length": "428",
"Content-Type": "multipart/form-data; boundary=----------------------------af3ea881bfa9",
"Expect": "100-continue",
"Host": "h.wrttn.me",
"User-Agent": "curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15"
},
"ip": "127.0.0.1",
"request_time": 0.04804205894470215,
"start_time": 1313953495.331477,
"url": "http://h.wrttn.me/post"
}
http://hurl.it/, httpbin.org, http://postbin.org, ifconfig.me, http://httpstat.us
To Kenneth Reitz who develop httpbin.org