I've been making my headers very much like a proxy would, even sending X-forwarded-for headers with the original client ip and such. Sending very close to the same thing that would be sent if the user really was using a web proxy. Seems to be keeping google happy... so far. Jonathan Michael Beccaria wrote: > Not everyone will care, but I will put it in here for posterity sake and > probably for my own reference when I forget in the future. > > I was having trouble getting the new google books dynamic link api to > work right with python > (http://code.google.com/apis/books/docs/dynamic-links.html). I was using > the basic urllib python library with a non-working code base that looks > like this: > > import urllib,urllib2 > gparams = urllib.urlencode({'bibkeys': 'ISBN:061837943', > 'jscmd':'viewapi','callback':'mycallback'}) > g=urllib2.urlopen(url="http://books.google.com/books?%s" % gparams) > print g.read() > > I was getting an http 401 error, Unauthorized. Code4lib IRC folks told > me it was probably the headers urllib was sending, and they were right. > I wrote code to modify the headers to make google believe I was > requesting from firefox. The working code is below. I know most of you > can write this stuff in your sleep, but I thought this might save > someone like me some time in the end. > Hope it helps, > Mike Beccaria > Systems Librarian > Head of Digital Initiatives > Paul Smith's College > 518.327.6376 > [log in to unmask] > > > import urllib,urllib2 > opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) > params = urllib.urlencode({'bibkeys': 'ISBN:061837943', > 'jscmd':'viewapi','callback':'mycallback'}) > > request = > urllib2.Request('http://books.google.com/books?bibkeys=0618379436&jscmd= > viewapi&callback=mycallback') > opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT > 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')] > data = opener.open(request).read() > print data > > -- Jonathan Rochkind Digital Services Software Engineer The Sheridan Libraries Johns Hopkins University 410.516.8886 rochkind (at) jhu.edu