- From: Nathan <nathan@webr3.org>
- Date: Mon, 25 Jan 2010 22:35:42 +0000
- To: Hugh Glaser <hg@ecs.soton.ac.uk>
- CC: Mischa Tuffield <mmt04r@ecs.soton.ac.uk>, "public-lod@w3.org" <public-lod@w3.org>
- Message-ID: <4B5E1CBE.3020506@webr3.org>
Hi Hugh, Been meaning to knock up a proper class for this for ages; here's one I just made that should do the trick for you; supports GET & POST + params + any headers you like (attached w/ example). Will flesh it out a bit and create an open source documented class in the near future. Hope it's of some use. Many Regards, Nathan ps: I've been doing masses of RDF + SPARQL w/ PHP so if you get stuck with anything give me a shout for pointers :) happy to help. Hugh Glaser wrote: > Thanks mate. > > On 25/01/2010 20:01, "Mischa Tuffield" <mmt04r@ecs.soton.ac.uk> wrote: > >> Hi Hugh, >> >> The code you posted seems sane to me. It is very similar to the php we use to >> make sparql-queries. My only comment being that you probably want to have a >> line which closes curl connection after you have used it. >> >> something like : >> >> <!-- >> curl_close($ch); >> --> >> >> You could also set a User Agent, to identify your self to the website's you >> are fetching RDF from, you would do it like so : >> >> <!-- >> curl_setopt($ch, CURLOPT_USERAGENT, "hugh's crawler 0.1"); >> --> >> >> I hope this helps, >> >> Mischa >> >> On 25 Jan 2010, at 18:10, Hugh Glaser wrote: >> >>> OK, herešs some fun for you... >>> (Excuse me if it has been discussed before, and just point me at it :-) ) >>> >>> >>> Having struggled through the php manual for cURL, I have come up with the >>> following draft for getting an RDF document, given a URI. >>> >>> $ch = curl_init(); >>> curl_setopt($ch, CURLOPT_URL, $_REQUEST['uri']); >>> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); >>> curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); >>> curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: >>> application/rdf+xml, text/n3, text/rdf+n3, text/turtle, application/x-turtle, >>> application/turtle, text/plain")); >>> $data = curl_exec($ch); >>> $info = curl_getinfo($ch); >>> >>> if ($data === FALSE || $info['http_code'] != 200) { >>> >>> What does anyone think? >>> Išm sure there are a bunch of improvements/corrections. >>> >>> As a (hopefully) separate issue, the MIME types will probably generate some >>> discussion, but it is the PHP I am primarily asking about at the moment. >>> >>> Best >>> Hugh >>> >> _________________________________ >> Mischa Tuffield >> ECS - http://www.ecs.soton.ac.uk/ >> Homepage - http://users.ecs.soton.ac.uk/mmt04r/ >> Identity - http://id.ecs.soton.ac.uk/person/6914 >> WebID - http://mmt.me.uk/foaf.rdf#mischa >> >> >> >> >> > > > >
Attachments
- text/html attachment: rest-test.php
Received on Monday, 25 January 2010 22:37:08 UTC