08-24-2008, 09:00 PM
|
#1 (permalink)
|
|
The Contributor
Join Date: Sep 2007
Location: London, UK
Posts: 47
Thanks: 4
|
World of Warcraft Armory xml Grabber with cURL
Ok, I ran across this a little while ago and since I spent a lot of time looking for this, I thought I would share this with all you guys here that want it.
PHP Code:
class armory {
const BROWSER="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20070319 Firefox/2.0.0.3";
public $query; public $server; public $guild; public $guildie; public $page;
public function __construct ( $query, $server, $guild, $guildie, $page ) { $this->query = $query; $this->server = $server; $this->guild = $guild; $this->guildie = $guildie; $this->page = $page; } // end of __construct()
public function pull_xml() {
// change the first part of the $url to the armory link that you need if( $this->query === 'roster' ){ $url = 'http://eu.wowarmory.com/guild-info.xml?r=' . urlencode($this->server) . '&n=' . urlencode($this->guild) . '&p=' . $this->page; }elseif( $this->query === 'character' ){ $url = 'http://eu.wowarmory.com/character-sheet.xml?r=' . urlencode($this->server) . '&n=' . $this->guildie; }
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt ($ch, CURLOPT_USERAGENT, self::BROWSER); $url_string = curl_exec($ch); curl_close($ch); return simplexml_load_string($url_string); } // end of pull_xml()
} // end class
And then to use it:
PHP Code:
Syntax: $armory = new armory( [character or roster] , realm , [guild name or NULL] , character name , [page number (guilds only) or NULL];
Example: $armory = new armory(character, hellscream, NULL, mortisimus, NULL); $xml = $armory->pull_xml();
Then you could var_dump($xml) to see all the options you can pull from the armory.
Another example (to get the name):
PHP Code:
$armory = new armory(character, hellscream, NULL, mortisimus, NULL); $xml = $armory->pull_xml(); echo $xml->characterInfo->character['name'];
Which will get the value of the name in the character tag, contained in the characterInfo tag in the xml file from the armory or in short, the characters name
All simple stuff but it helped me out.
The World of Warcraft Armory - EU
The World of Warcraft Armory - US
Last edited by mortisimus : 11-09-2008 at 09:43 AM.
|
|
|
|