---
name: "WWW::Finger::Webfinger"
section: "3pm"
platform: "linux"
package: "libwww-finger-perl"
version: "0.105-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/WWW::Finger::Webfinger"
---

# WWW::Finger::Webfinger(3pm)

WWW::Finger module for Webfinger

## NAME

WWW::Finger::Webfinger - WWW::Finger module for Webfinger

## DESCRIPTION

Webfinger is currently a very unstable specification, with implementation details changing all the time. Given this instability, it seems prudent to describe the protocol, as implemented by this package.

Given an e-mail-like identifier, the package will prepend "acct:" to it, assuming that the identifier doesn't already have a URI scheme. This identifier will now be called \[ident\].

The package looks up the host-meta file associated with the host for \[ident\]. It is assumed to be formatted according to the draft-hammer-hostmeta-05 Internet Draft \<http://tools.ietf.org/html/draft-hammer-hostmeta-05\> and XRD Working Draft 10 \<http://www.oasis-open.org/committees/download.php/35274/xrd-1.0-wd10.html\>. Both these drafts are dated 19 November 2009.

A link template will be extracted from the host-meta for the host using either of the following two relationships: \<http://lrdd.net/rel/descriptor\>, \<http://www.iana.org/assignments/relation/lrdd\>. (Neither is prioritised, so if both exist and have different templates, hilarity will ensue.)

The token "{uri}" in the link template will be replaced with the URL-encoded version of \[ident\] to create an account descriptor URI.

The account descriptor URI is fetched via HTTP GET with an Accept header asking for RDF/XML, Turtle, RDF/JSON or XRD. The result is parsed for account description data if it has status code 200 (OK).

The following relationships/properties are understood in the account description:

- •

  http://xmlns.com/foaf/0.1/name

- •

  http://xmlns.com/foaf/0.1/homepage

- •

  http://webfinger.net/rel/profile-page

- •

  http://xmlns.com/foaf/0.1/weblog

- •

  http://xmlns.com/foaf/0.1/mbox

- •

  http://webfinger.net/rel/avatar

- •

  http://xmlns.com/foaf/0.1/img

- •

  http://xmlns.com/foaf/0.1/depiction

- •

  http://ontologi.es/sparql#endpoint

As well as the standard WWW::Finger methods, WWW::Finger::Webfinger provides this additional method:

- "get($p1, $p2, ...)"

  `$p1`, `$p2` and are RDF predicate URIs, XRD Link@rel values, or XRD Property@type values

  ```
    # Returns phone numbers...
    $finger->get('http://xmlns.com/foaf/0.1/phone',
                 'http://rdf.data-vocabulary.org/#tel');

    # Salmon-style magic keys
    $finger->get('magic-public-key');
  ```

## SEE ALSO

WWW::Finger, XRD::Parser, HTTP::LRDD.

\<http://code.google.com/p/webfinger/\>.

## AUTHOR

Toby Inkster, \<tobyink@cpan.org\>

## COPYRIGHT AND LICENCE

Copyright (C) 2009-2012 by Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
