import mechanize b = mechanize.Browser() b.set_handle_robots(False) b.add_client_certificate("https://idp.mit.edu:9443", "cert.pem", "cert.pem") b.addheaders = [("Accept-Language", "en-us,en;q=0.5"),] b.open("https://jira.mit.edu/jira/secure/Dashboard.jspa") b.follow_link(text="MIT Touchstone") b.select_form("wayfForm1") b.submit() b.select_form(predicate=lambda f: any(c.name == 'login_certificate' for c in f.controls)) b.submit() b.select_form(nr=0) b.submit() print b.response().read()