Let's start with WebFinger. First, we need to figure out how to get my WebFinger data from gmail. There's standard place to look for that explanation, given a domain name:
http[s]://{domain-name}/.well-known/host-metaSo for gmail we get the explanation of how to get my WebFinger data like so:
$ curl http://gmail.com/.well-known/host-metaOut pops an XRD doc that contains a URI template (in bold, below):
<?xml version='1.0' encoding='UTF-8'?> <!-- NOTE: this host-meta end-point is a pre-alpha work in progress. Don't rely on it. --> <!-- Please follow the list at http://groups.google.com/group/webfinger --> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0' xmlns:hm='http://host-meta.net/xrd/1.0'> <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host> <Link rel='lrdd' template='http://www.google.com/s2/webfinger/?q={uri}'> <Title>Resource Descriptor</Title> </Link> </XRD>Substitute my email address for {uri} and curl it:
$ curl http://www.google.com/s2/webfinger/?q=banksean@gmail.comThat spits out another XRD that describes some other resources associated with my email address:
<?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:banksean@gmail.com</Subject> <Alias>http://www.google.com/profiles/banksean</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/banksean' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/banksean' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/banksean' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/banksean'/> <Link rel='describedby' href='http://www.google.com/profiles/banksean' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=banksean%40gmail.com&fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/103419049256232792514/public/posted' type='application/atom+xml'/> </XRD>Bolded above is the rel='http://schemas.google.com/g/2010#updates-from' URI for my public status updates. Let's fetch that:
$ curl http://buzz.googleapis.com/feeds/103419049256232792514/public/posted
<?xml version='1.0' encoding='utf-8'?> <feed xmlns='http://www.w3.org/2005/Atom' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:media='http://search.yahoo.com/mrss' xmlns:activity='http://activitystrea.ms/spec/1.0/'> <link rel='self' type='application/atom+xml' href='http://buzz.googleapis.com/feeds/103419049256232792514/public/posted'/> <link rel='hub' href='http://pubsubhubbub.appspot.com/'/> <!-- lots more feed data not relevant to this discussion -->It's a standard Atom feed. Amongst a lot of other stuff in the beginning is a rel="hub" link. This is where PubSubHubub comes in. Suppose that I want some other service to be notified whenever I post a status update (for instance, I have an app that reposts it in the sidebar of my blog). I could poll this Atom feed but polling is pretty janky. With PuSH I can register a callback to be notified whenever I post an update. Since this feed has a rel="hub" link set to http://pubsubhubbub.appspot.com/, that's where I go to do register a callback.
If you just navigate to http://pubsubhubbub.appspot.com/ with your browser you get a form you can fill out to create a subscription. One of the fields is for a "Callback" url. I don't run any websites that know how to handle PuSH callbacks (or subscription confirmation, for that matter). Luckily there is a test subscriber on appspot that accepts subscription requests for anything: http://pubsubhubbub-subscriber.appspot.com/. To create your own callback URL for testing, just add /subscriber.{some_unique_identifier} to the end of it.
According to the PuSH spec, I should POST some form fields to the hub URL like so:
$ curl -v http://pubsubhubbub.appspot.com/subscribe \ -d hub.callback=http://pubsubhubbub-subscriber.appspot.com/subscriber.banksean\&\ hub.topic=http://buzz.googleapis.com/feeds/103419049256232792514/public/posted\&\ hub.verify=sync\&hub.mode=subscribe\&hub.verify_token=\&hub.secret=And that creates the subscription. Here's the verbose output:
* About to connect() to pubsubhubbub.appspot.com port 80 (#0) * Trying 74.125.19.141... connected * Connected to pubsubhubbub.appspot.com (74.125.19.141) port 80 (#0) > POST /subscribe HTTP/1.1 > User-Agent: curl/7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 > Host: pubsubhubbub.appspot.com > Accept: */* > Content-Length: 219 > Content-Type: application/x-www-form-urlencoded > < HTTP/1.1 204 No Content < Cache-Control: no-cache < Content-Type: text/plain < Expires: Fri, 01 Jan 1990 00:00:00 GMT < Date: Sat, 13 Feb 2010 17:41:29 GMT < Server: Google Frontend < Content-Length: 0 < X-XSS-Protection: 0 < * Connection #0 to host pubsubhubbub.appspot.com left intact * Closing connection #0
The 204 No Content response indicates the subscription was created and is active, according to the spec.
And if you go to http://pubsubhubbub-subscriber.appspot.com/ right now (Saturday morning, October 13th 2009), you'll indeed see a bunch of my posts on it.
Ta Da. No code. Just curl. I love the internet.
This was an extremely helpful post. Thanks!
ReplyDeleteThank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
ReplyDeletejava training in bangalore java training in bangalore
Great Article
DeleteFinal Year Project Domains for CSE
Project Centers in Chennai
JavaScript Training in Chennai
JavaScript Training in Chennai
ReplyDeleteThanks for sharing this informative article..!!
Keep posting waiting for next post
Java Training in Bangalore
iOS Training in Bangalore
Thanks! For sharing your views regarding this topic. I really enjoyed your post.
ReplyDeletejava/j2ee classes Bangalore | java Training Center Bangalore | Best Core Java Training in Bangalore | java Course in Bangalore | Best Java Training Institute Bangalore Marathahalli | Core and Advanced Java Institute Marathahalli | Java Training Institute in Bangalore Marathahalli | Advanced java Training in Bangalore | Java Technologies for web applications | Java Training in Bangalore
Thanks for sharing this information admin, it helps me to learn new things. Continue sharing more like this.
ReplyDeletePython Training in Chennai
Python course in Chennai
Data Science Course in Chennai
AWS Training in Chennai
Angularjs Training in Chennai
RPA Training in Chennai
UiPath Training in Chennai
Blue Prism Training in Chennai
DevOps Training in Chennai
ccna course in Chennai
The information given is extra-ordinary. Looking forward to read more . Thanks for sharing.
ReplyDeleteIELTS Coaching in Chennai
IELTS Training in Chennai
IELTS classes in Chennai
IELTS Training in Tambaram
Spoken English Classes in Chennai
Best Spoken English Classes in Chennai
SAS Training in Chennai
SAS Course in Chennai
This comment has been removed by the author.
ReplyDeleteVery informative information.
ReplyDeleteselenium training in Bangalore | Selenium Courses in Bangalore | Best selenium Training institute in bangalore, Selenium training in Marathahalli || web development training in Bangalore
Awesome post with great piece of information. I'm glad that I came across your blog. Keep us updated.
ReplyDeleteIoT Training in Chennai
IoT Courses in Chennai
Oracle Training in Chennai
Oracle Training institute in chennai
Unix Training in Chennai
Unix Shell Scripting Training in Chennai
IoT Training in Adyar
IoT Training in Porur
I gathered lots of information from your blog and it helped me a lot. Keep posting more
ReplyDeleteAngularJS course in Chennai
Angularjs Training institute in Chennai
ReactJS Training in Chennai
ReactJS course in Chennai
Data Science Training in Chennai
Data Analytics Courses in Chennai
AngularJS Training in Velachery
AngularJS Training in Tambaram
I have read your article throughly and it was awesome content with great example.
ReplyDeleteGerman Classes in Chennai
Big Data Training in Chennai
Android Training in Chennai
Selenium Training in Chennai
Digital Marketing Training in Chennai
Software Testing Training in Chennai
Software testing institute in chennai
Software testing training in Velachery
I read your blog recently and its nice. Keep sharing more.
ReplyDeleteIELTS Coaching in Chennai Anna Nagar
IELTS Coaching Centre in Anna Nagar
IELTS Coaching in Anna Nagar
IELTS Coaching in Adyar
IELTS Coaching in Chennai Adyar
IELTS Coaching in Porur
Spoken English Class in Chennai
Spoken English in Chennai
Thank you for allowing me to read it, welcome to the next in a recent article. And thanks for sharing the nice article, keep posting or updating news article.\
ReplyDeletelg mobile service center in chennai
lg mobile service center
lg mobile service chennai
Great job. Keep updating this article by posting new informations.
ReplyDeleteSpoken English Classes in Chennai
English Coaching Classes in Chennai
Japanese Language Classes in Chennai
French Language Classes in Chennai
pearson vue exam centers in chennai
German Classes in Chennai
French Classes in anna nagar
spoken english in anna nagar
thanks for sharing this information
ReplyDeleteBlue Prism Training in Bangalore
Blue Prism Training in BTM
data science with python training in Bangalore
Artificial Intelligence training in Bangalore
python training in btm
python training in btm Layout
python training in jayanagar bangalore
The article is so informative. This is more helpful. Thanks for sharing.
ReplyDeleteLearn best software testing online certification course class in chennai with placement
Best selenium testing online course training in chennai
Best online software testing training course institute in chennai with placement
thanks for your information really good and very nice web design company in velachery
ReplyDeleteFor Data Science training in Bangalore, Visit:
ReplyDeleteData Science training in Bangalore
Great Article. Thank you for sharing! Really an awesome post for every one.
ReplyDeleteIEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Project Domains for IT It gives you tips and rules that is progressively critical to consider while choosing any final year project point.
JavaScript Training in Chennai
JavaScript Training in Chennai
Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
ReplyDeleteDigital Marketing Course in Chennai
Digital Marketing Courses in Bangalore
digital marketing training in marathahalli
Digital Marketing Course in Coimbatore
Digital Marketing Course in Madurai
digital marketing training in btm
Nice Post...Thanks for Sharing the Information...
ReplyDeletejava training in bangalore
Thanks for sharing such a nice information with us...
ReplyDeleteJava Training in Bangalore
very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
ReplyDeleteDigital Marketing Training Course in Chennai | Digital Marketing Training Course in Anna Nagar | Digital Marketing Training Course in OMR | Digital Marketing Training Course in Porur | Digital Marketing Training Course in Tambaram | Digital Marketing Training Course in Velachery
Such a very useful article. Very interesting to read this article. I would like to thank you for the efforts you had made for writing this awesome article.
ReplyDeleteData Science Course in Pune
Data Science Training in Pune
ReplyDeleteAfter reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.
Ethical Hacking Course in Bangalore
Thumbs up guys your doing a really good job. It is the intent to provide valuable information and best practices, including an understanding of the regulatory process.
ReplyDeleteCyber Security Course in Bangalore
Very nice blog and articles. I am really very happy to visit your blog. Now I am found which I actually want. I check your blog everyday and try to learn something from your blog. Thank you and waiting for your new post.
ReplyDeleteCyber Security Training in Bangalore
I am impressed by the information that you have on this blog. Thanks for Sharing
ReplyDeleteEthical Hacking in Bangalore
Excellent Blog! I would Thanks for sharing this wonderful content.its very useful to us.I gained many unknown information, the way you have clearly explained is really fantastic.keep posting such useful information.
ReplyDeleteFull Stack Training in Chennai | Certification | Online Training Course
Full Stack Training in Bangalore | Certification | Online Training Course
Full Stack Training in Hyderabad | Certification | Online Training Course
Full Stack Developer Training in Chennai | Mean Stack Developer Training in Chennai
Full Stack Training
Full Stack Online Training
Just admiring your work and wondering how you managed this blog so well. It’s so remarkable that I can't afford to not go through this valuable information whenever I surf the internet.
ReplyDeleteIELTS Coaching in chennai
German Classes in Chennai
GRE Coaching Classes in Chennai
TOEFL Coaching in Chennai
spoken english classes in chennai | Communication training
Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next!
ReplyDeleteArtificial Intelligence Training in Chennai
Ai Training in Chennai
Artificial Intelligence training in Bangalore
Ai Training in Bangalore
Artificial Intelligence Training in Hyderabad | Certification | ai training in hyderabad
Artificial Intelligence Online Training
Ai Online Training
Blue Prism Training in Chennai
Similar to COBOL, thousands of critical enterprise systems have been written in Java and will need to be maintained and enhanced for decades to come. I'd be surprised if it's not around for at least another 15 years. But it will change, and is changing.
ReplyDeleteJava Training in Chennai
Java Training in Bangalore
Java Training in Hyderabad
Java Training in Coimbatore
Java Training
Nice post. Thanks for sharing! I want people to know just how good this information is in your article. It’s interesting content and Great work. nice to read.
ReplyDeleteselenium training in chennai
selenium training in chennai
selenium online training in chennai
selenium training in bangalore
selenium training in hyderabad
selenium training in coimbatore
selenium online training
selenium training
nice article and perfect post
ReplyDeleteSoftware Testing Training in Chennai | Certification | Online
Courses
Software Testing Training in Chennai
Software Testing Online Training in Chennai
Software Testing Courses in Chennai
Software Testing Training in Bangalore
Software Testing Training in Hyderabad
Software Testing Training in Coimbatore
Software Testing Training
Software Testing Online Training
Good post and informative. Thank you very much for sharing this good article, it was so good to read and useful to improve my knowledge as updated, keep blogging.Thank you for sharing wonderful information with us to get some idea about that content.
ReplyDeleteoracle training in chennai
oracle training institute in chennai
oracle training in bangalore
oracle training in hyderabad
oracle training
oracle online training
hadoop training in chennai
hadoop training in bangalore
The information given is extra-ordinary. Looking forward to read more . Thanks for sharing.
ReplyDeleteAWS Course in Chennai
AWS Course in Bangalore
AWS Course in Hyderabad
AWS Course in Coimbatore
AWS Course
AWS Certification Course
AWS Certification Training
AWS Online Training
AWS Training
Thank you for allowing me to read it, welcome to the next in a recent article. And thanks for sharing the nice article, keep posting or updating news article.
ReplyDeleteacte reviews
acte velachery reviews
acte tambaram reviews
acte anna nagar reviews
acte porur reviews
acte omr reviews
acte chennai reviews
acte student reviews
By the way you are running a great blog. Thanks for sharing this.
ReplyDeleteCyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course |
CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course
jordan shoes
ReplyDeletegoyard handbags
golden goose outlet
yeezy supply
yeezy shoes
yeezy
goyard handbags
golden goose
yeezy
yeezy shoes
You can comment on the blog ordering system. You should discuss, it's splendid. Auditing your blog would increase the number of visitors. I was very happy to find this site. Thank you...
ReplyDeleteBraces in Bangalore
Excellent content! Thanks for sharing such a useful information.
ReplyDeleteBig Data Training Institute in Pune
Big Data Analytics Training in Pune
thanks for your information really good and very nice The Best Result Driven Digital Marketing Agency in Chennai
ReplyDeleteI was very happy to find this site. I really enjoyed reading this article today and think it might be one of the best articles I have read so far. I wanted to thank you for this excellent reading !! I really enjoy every part and have bookmarked you to see the new things you post. Well done for this excellent article. Please keep this work of the same quality.
ReplyDeleteData Science Course in Bangalore
Very useful blog. In this blog, I got so much useful information.
ReplyDeleteselenium architecture
advantages of angularjs
aws certification benefits
android oreo update
aws interview questions and answers
devops interview questions and answers
Mua vé máy bay liên hệ ngay đại lý Aivivu, tham khảo
ReplyDeletevé máy bay đi Mỹ hạng thương gia
chuyến bay từ mỹ về việt nam hôm nay
giá vé máy bay rẻ nhất đi phú quốc
đặt vé máy bay sài gòn nha trange may bay tu vinh di nha trang
vé máy bay đi Sài Gòn rẻ nhất