Kamaelia docs : Kamaelia.Protocol.HTTP.HTTPClient.SingleShotHTTPClient


For examples and more explanations, see the module level docs.

class SingleShotHTTPClient(Axon.Component.component)

SingleShotHTTPClient() -> component that can download a file using HTTP by URL

Arguments: - starturl -- the URL of the file to download - [postbody] -- data to POST to that URL - if set to None becomes an empty body in to a POST (of PUT) request - [connectionclass] -- specify a class other than TCPClient to connect with - [method] -- the HTTP method for the request (default to GET normally or POST if postbody != ""


  • control : UNUSED
  • _parserinbox : Data from HTTP parser
  • _parsercontrol : Signals from HTTP parser
  • _tcpcontrol : Signals from TCP client
  • inbox : UNUSED


  • signal : UNUSED
  • _parsersignal : Signals for HTTP parser
  • _tcpoutbox : Send over TCP connection
  • debug : Output to aid debugging
  • outbox : Requested file
  • _tcpsignal : Signals shutdown of TCP connection

Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

formRequest(self, url)

Craft a HTTP request string for the supplied url

handleRedirect(self, header)

Check for a redirect response and queue the fetching the page it points to if it is such a response. Returns true if it was a redirect page and false otherwise.


Main loop.


Called repeatedly by main loop. Checks inboxes and processes messages received. Start the fetching of the new page if the current one is a redirect and has been completely fetched.

makeRequest(self, request)

Connect to the remote HTTP server and send request


Close TCP connection and HTTP parser


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT

Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)