hn-classics/_stories/1996/863284.md

301 lines
12 KiB
Markdown

---
created_at: '2009-10-06T01:32:44.000Z'
title: '"How do I set the User-Agent string in Java?" - L. Page (1996)'
url: http://guyro.typepad.com/blog/2008/12/google-i.html
author: frisco
points: 173
story_text: ''
comment_text:
num_comments: 39
story_id:
story_title:
story_url:
parent_id:
created_at_i: 1254792764
_tags:
- story
- author_frisco
- story_863284
objectID: '863284'
year: 1996
---
[Source](http://guyro.typepad.com/blog/2008/12/google-i.html "Permalink to Spinning Guyro: Google & I")
# Spinning Guyro: Google & I
# [Spinning Guyro][1]
## Spinning the Web 2.0
## Guy Rosen's blog
* ![][2]
## About
* My name is Guy Rosen and I'm a technology veteran and future serial entrepreneur :-). Currently working on a venture in the cloud computing space, I blog about interests of topics for technology, entrepreneurship, productivity, social networking, cloud computing and more.
[See more at my about page][3]
##
* ![View Guy Rosen's profile on LinkedIn][4]
##
* Follow me on Twitter [@guyro:][5]
![][6]
## Favorites
* [Technotheory][7]
* [Lifehacker][8]
* [Instigator Blog][9]
* [Paul Graham][10]
* [Collective Thoughts][11]
* [Web2.0 Wonders][12]
* [Publishing 2.0][13]
* [On Startups][14]
* [De Gardener][15]
* [Online Circus][16]
##
* «[ Are You Being Social Media Smart?][17] | [Main][1] | [Yahoo Mail The Next Platform? »][18]
## December 08, 2008
### Google & I
I was brushing off my Java skills the other day. It's been a little while and I ran into a task I could not, from memory, recall how to write. So I turned to Google and quickly came up with [this post][19] from 1996(!) on the subject:
` From: Lawrence Page
I have a web robot which is a Java app. I need to be able to set the User-Agent field in the HTTP header in order to be a good net citizen (so people know who is accessing their server). Anyone have any ideas?
Right now, Java sends a request that includes something like:
User-Agent: Java/1.0beta2
I'd rather not rewrite all the HTTP stuff myself. I tried just searching in the JDK for the Java/1.0beta2 figuring I could just change the string, but I couldn't find it. Perhaps it is stored as a unicode string?
An easy method of setting the User-Agent field should probably be added to Java, so people can properly identify their programs.
Thanks, Larry Page `
Hmm, I wonder what kind of "web robot" this [Larry Page][20] was working on and hope [his project][21] was successful!
Does it bode well for me that I ran into the same question?
Posted at 12:17 AM | [Permalink][22]
### Comments
![Feed][23] You can follow this conversation by subscribing to the [comment feed][24] for this post.
![John Rockefeller][25]
That's awesome. I always love these things, where it's like "before they were stars".
Good stuff!
Posted by: [John Rockefeller][26] | [December 08, 2008 at 04:32 AM][27]
![rajaash][28]
good
Posted by: [rajaash][29] | [December 08, 2008 at 07:19 AM][30]
![Ibod Catooga][31]
Haha Larry Page lit your ass up with some napalm!
Feel the burn my niggas.
Posted by: [Ibod Catooga][32] | [December 08, 2008 at 09:57 AM][33]
![Cristian][34]
Only that Google used Python for its robots.
Posted by: Cristian | [December 08, 2008 at 05:32 PM][35]
![Sean][36]
This shows how the leaps of men are sometimes made off others shoulders.
Posted by: [Sean][37] | [December 09, 2008 at 06:51 AM][38]
![Michael Martin][39]
Haha - That's brilliant! Great find! :D
Posted by: [Michael Martin][40] | [December 12, 2008 at 04:00 AM][41]
![Scott][34]
All Google crawlers are python based. Especially the crawlers.
Posted by: [Scott][42] | [December 20, 2008 at 07:36 AM][43]
![EW][44]
I questioning the legitimacy of the post since both the question and response are dated exactly 3am.
Posted by: EW | [January 01, 2009 at 10:57 PM][45]
![Guy Rosen][46]
@BW - interesting find. Poking around a bit I can see that most if not all all old Usenet posts from that period have a date header and not a time (as can be seen in the raw message). Apparently the standards of 1996 did not demand a time field.
So, Google Groups simply set 0:00 (PST) as the time when importing the old Usenet archives. You see 3am because you're on EST.
Posted by: [Guy Rosen][47] | [January 02, 2009 at 12:48 AM][48]
![Nico][49]
I guess Larry Page switched to Python after getting frustrated with Java.
Posted by: Nico | [October 06, 2009 at 07:15 AM][50]
![Woody Smith][25]
An easy method of setting the User-Agent field should probably be added to Java, so people can properly identify their programs. I am also interested on the web robot that Larry Bode had set-up. Hope he was able to complete it and make it available for critic. Nice work.
Posted by: [Woody Smith][51] | [September 10, 2011 at 05:02 AM][52]
![Keyword Tool][53]
I think the thing has been resolved already. Its been quite a year now. I wonder if Larry Page has still confusion on the Java thing now.
Posted by: [Keyword Tool][54] | [September 22, 2011 at 10:45 AM][55]
The comments to this entry are closed.
## Subscribe by RSS
* ![][56]
## Subscribe by Email
* Enter your email address:
## Recent Posts
* [Email Greetings In Multiple Languages][57]
* [The Multivariable Startup Equation][58]
* [How Many Sites Really Use Amazon EC2?][59]
* [Email In The Cloud - Not Just For Startups][60]
* [What Is Cloud Computing?][61]
* [Doing the Impossible][62]
* [HostMonk - our new hosting comparison service][63]
* [Multiple Profiles for TweetDeck - Introducing MultiTweetDeck][64]
* [Keep Your Arms And Legs Inside The Ride At All Times][65]
* [How Not To Search For Blogs][66]
## [Archives][67]
* [September 2009][68]
* [July 2009][69]
* [May 2009][70]
* [April 2009][71]
* [March 2009][72]
* [February 2009][73]
* [January 2009][74]
* [December 2008][75]
* [November 2008][76]
* [October 2008][77]
[More...][67]
![Quantcast][78] n
n n ![Working...][79]n
n n
n'; var entryPermalink = "http://guyro.typepad.com/blog/2008/12/google-i.html"; var inlineReply = document.createElement("div"); var commentFooterLinks; var commentHeader; var commentReplyXID; var commentReplyAuthor; var commentReplyComplete; var inlineReplyLoaded = 0; var commentFormNum = undefined; /* Deprecated but still exists in advanced template sets, so must be defined */ function xidToCommentPermalink (entryUrl, xid) { return entryUrl + "?cid=" + xid + "#comment-" + xid; } /* Deprecated advanced template functions */ function handleSubmit() { return true; }; function handleChange() { return true; }; document.write(unescape("%3Cscript src='" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js'%3E%3C/script%3E")); COMSCORE.beacon({ c1: 2, c2: "6035669", c3: "", c4: "http://guyro.typepad.com/blog/2008/12/google-i.html", c5: "", c6: "", c15: "" });
[1]: http://guyro.typepad.com/blog/
[2]: http://guyro.typepad.com/photos/images/gyroscope_precession.gif
[3]: http://guyro.typepad.com/about.html
[4]: http://www.linkedin.com/img/webpromo/btn_viewmy_160x33.gif
[5]: http://twitter.com/guyro
[6]: http://guyro.typepad.com/.a/6a00e553792bcf8833010535fc05b4970c-pi
[7]: http://www.technotheory.com/ ""
[8]: http://lifehacker.com/ ""
[9]: http://www.instigatorblog.com/ ""
[10]: http://www.paulgraham.com/ ""
[11]: http://www.collective-thoughts.com/ ""
[12]: http://chatster.typepad.com/ ""
[13]: http://publishing2.com/ ""
[14]: http://www.onstartups.com/ ""
[15]: http://www.degardener.com/ ""
[16]: http://itail.blogspot.com/ ""
[17]: http://guyro.typepad.com/blog/2008/11/are-you-being-social-media-smart.html
[18]: http://guyro.typepad.com/blog/2008/12/yahoo-mail-the-next-platform.html
[19]: http://groups.google.com/group/comp.lang.java/msg/88fa10845061c8ba
[20]: http://en.wikipedia.org/wiki/Larry_Page
[21]: http://web.archive.org/web/19981111183552/google.stanford.edu/
[22]: http://guyro.typepad.com/blog/2008/12/google-i.html
[23]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/images/feed.png
[24]: http://guyro.typepad.com/blog/2008/12/google-i/comments/atom.xml
[25]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/11-50si.gif
[26]: http://www.johnrockefeller.net/ "http://www.johnrockefeller.net/"
[27]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=141751008#comment-6a00e553792bcf88330105364c57fb970c
[28]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/02-50si.gif
[29]: http://www.besten.in/ourvalues.html "http://www.besten.in/ourvalues.html"
[30]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=141760796#comment-6a00e553792bcf883301053644a41c970b
[31]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/14-50si.gif
[32]: http://www.anus.com "http://www.anus.com"
[33]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=141766902#comment-6a00e553792bcf883301053644d74e970b
[34]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/16-50si.gif
[35]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=141795324#comment-6a00e553792bcf88330105364d85c1970c
[36]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/18-50si.gif
[37]: http://m320.com "http://m320.com"
[38]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=142004854#comment-6a00e553792bcf8833010536520c0d970c
[39]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/19-50si.gif
[40]: http://www.problogdesign.com/ "http://www.problogdesign.com/"
[41]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf88330105365d38c5970c#comment-6a00e553792bcf88330105365d38c5970c
[42]: http://alltherides.com "http://alltherides.com"
[43]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf883301053686d284970b#comment-6a00e553792bcf883301053686d284970b
[44]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/06-50si.gif
[45]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf8833010536aa2bd9970c#comment-6a00e553792bcf8833010536aa2bd9970c
[46]: http://up7.typepad.com/6a00e553792bcf8833010534aadbe6970c-50si
[47]: http://profile.typepad.com/1214731494s21583 "http://profile.typepad.com/1214731494s21583"
[48]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf8833010536aa5d72970c#comment-6a00e553792bcf8833010536aa5d72970c
[49]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/10-50si.gif
[50]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf88330120a6191f9f970c#comment-6a00e553792bcf88330120a6191f9f970c
[51]: http://woodworkingplansdiy.org/ "http://woodworkingplansdiy.org/"
[52]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf88330154354b6899970c#comment-6a00e553792bcf88330154354b6899970c
[53]: http://static.typepad.com/.shared:v6bc83ba:typepad:en_us/default-userpics/05-50si.gif
[54]: http://marketbold.com/KeywordSniperPro/ "http://marketbold.com/KeywordSniperPro/"
[55]: http://guyro.typepad.com/blog/2008/12/google-i.html?cid=6a00e553792bcf8833015391c9f607970b#comment-6a00e553792bcf8833015391c9f607970b
[56]: http://www.feedburner.com/fb/images/pub/feed-icon32x32.png
[57]: http://guyro.typepad.com/blog/2009/09/email-greetings-in-multiple-languages.html
[58]: http://guyro.typepad.com/blog/2009/07/the-multivariable-startup-equation.html
[59]: http://guyro.typepad.com/blog/2009/07/how-many-sites-really-use-amazon-ec2.html
[60]: http://guyro.typepad.com/blog/2009/05/email-in-the-cloud---not-just-for-startups.html
[61]: http://guyro.typepad.com/blog/2009/05/what-is-cloud-computing.html
[62]: http://guyro.typepad.com/blog/2009/04/doing-the-impossible.html
[63]: http://guyro.typepad.com/blog/2009/03/hostmonk---our-new-hosting-comparison-service.html
[64]: http://guyro.typepad.com/blog/2009/03/multiple-profiles-on-tweetdeck-introducing-multitweetdeck.html
[65]: http://guyro.typepad.com/blog/2009/02/keep-your-arms-and-legs-inside-the-ride-at-all-times.html
[66]: http://guyro.typepad.com/blog/2009/02/how-not-to-search-for-blogs.html
[67]: http://guyro.typepad.com/blog/archives.html
[68]: http://guyro.typepad.com/blog/2009/09/index.html
[69]: http://guyro.typepad.com/blog/2009/07/index.html
[70]: http://guyro.typepad.com/blog/2009/05/index.html
[71]: http://guyro.typepad.com/blog/2009/04/index.html
[72]: http://guyro.typepad.com/blog/2009/03/index.html
[73]: http://guyro.typepad.com/blog/2009/02/index.html
[74]: http://guyro.typepad.com/blog/2009/01/index.html
[75]: http://guyro.typepad.com/blog/2008/12/index.html
[76]: http://guyro.typepad.com/blog/2008/11/index.html
[77]: http://guyro.typepad.com/blog/2008/10/index.html
[78]: http://pixel.quantserve.com/pixel/p-fcYWUmj5YbYKM.gif?tags=typepad.core
[79]: /.shared/images/spinner.gif