The login appears correct. Output attached.
However, even if I set need_subscription = False and remove get_browser(), I shouldn't get Forbidden but instead a stub page with a summary of the article and prompt to subscribe or login to see full article. At least that is what I get using a regular browser.
So I looked at my browser's network log, and it looks like the page returns 403 even if you have logged in, but the response body contains the full article and looks normal if you are reading with your browser
Code:
URL: http://www.prospectmagazine.co.uk/2011/12/time-travel/
Method: GET
Status: 403 Forbidden
Duration: 1751 ms
Request details
GET /2011/12/time-travel/ HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; Edition United States Local; en) Presto/2.10.229 Version/11.60
Host: www.prospectmagazine.co.uk
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en-US,en;q
Accept-Encoding: gzip, deflate
Referer: http://www.prospectmagazine.co.uk/issue/190/
Cookie: wordpress_test_cookie=(snip)
Connection: Keep-Alive
Request body
No request data
Response details
HTTP/1.1 403 Forbidden
Date: Tue, 20 Dec 2011 16:58:08 GMT
Server: Apache
X-Pingback: http://www.prospectmagazine.co.uk/xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Link: <http://www.prospectmagazine.co.uk/?p=103609>; rel=shortlink
Last-Modified: Tue, 20 Dec 2011 16:58:08 GMT
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Body
.... full body snipped ...