Yes, that worked wonderfully. Thanks!
For the future, how were you able to diagnose what the problem was?
Since the request was working on my browser I tried to match the header exactly. I enabled the debug verbose for the opener to see what it was sending:
opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))