- 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