HTTPS in REDbot

Long overdue, RED now support HTTP over SSL and TLS, thanks to support in Thor, the underlying HTTP library.

For example, try Google.

At the moment, it treats HTTPS just like HTTP, but over time we'll add checks for certificate validity and other HTTPS-specific concerns.

As always, please report any concerns, either using the feedback button on the home page, or in REDbot's issues list.

Saving REDbot Results, and HAR Support

Over the weekend REDbot got a fairly big upgrade; it now supports saving and sharing your results:

Screen_shot_2010-10-06_at_9
When you save your results, they're available at the resulting URL for at least 30 days. 

The new REDbot also allows showing results in HAR, a JSON format:

Screen_shot_2010-10-06_at_9
For example, see the HAR for amazon.com's home page. So, now you can not only get REDbot results in a JSON format (an often-requested feature), but you can also feed them into a HAR viewer such as this one to see how the requests were made. 

Behind the scenes, REDbot is using the 'id' parameter to reference stored results; by default, all results are stored for a short amount of time, so that you can view them in different formats without re-running the tests. Saving them just pushes out the date when they'll be deleted. Different formats can be requested using the 'format' parameter, either with 'id' (as REDbot does for the 'view HAR' link) or directly with the 'uri' parameter (which will re-request everything).

I still have a lot of tweaking to do with the UI; feedback appreciated (as always).

Command-Line REDbot

Thanks to @jeromerenard, REDbot now has command-line support:

> redbot -r http://www.mnot.net/
HTTP/1.1 200 OK
Response Headers:
Date: Fri, 20 Aug 2010 06:08:57 GMT
Server: Apache/2.2.15 (Fedora)
Last-Modified: Tue, 10 Aug 2010 04:08:24 GMT
ETag: "d87c7-f27-48d7048cb9e00"
Accept-Ranges: bytes
Content-Length: 3879
Cache-Control: max-age=3600
Expires: Fri, 20 Aug 2010 07:08:57 GMT
Content-Type: text/html; charset=utf-8
Content-Language: en
Age: 371
X-Cache: HIT from cloud.mnot.net
X-Cache-Lookup: HIT from cloud.mnot.net:80
Via: 1.1 cloud.mnot.net:80 (squid)

General:
One or more intermediaries are present.
The Content-Length header is correct.
The server's clock is correct.

Caching:
The resource last changed 1 week 3 days ago.
This response allows all caches to store it.
This response has been cached for 6 min 11 sec.
This response is fresh until 53 min 49 sec from now.
This response may still be served by a cache once it becomes stale.

Validation:
If-None-Match conditional requests are supported.
If-Modified-Since conditional requests are supported.

Note that a side effect of this is a change in RED's installation procedure; it now has a Pythonic setup.py file. See the README for more information.