Welcome Guest, Not a member yet? Register   Sign In
Curl User Agent question about documentation
#1

Hi,

According to documentation Here the syntaxe to specify a user agent is

Code:
'user_agent' => 'WDQS-example PHP/'. PHP_VERSION,

This syntaxe with WikiDATA SPARQL query always result a response of 403

As soon as i use this syntaxe

Code:
'User-Agent' => 'WDQS-example PHP/'. PHP_VERSION,

I get a response 200 with results for my sparql request.

I have made hundreds succesfull request to WikiPEDIA with the syntaxe 'user_agent'.

Is it a syntaxe error from the documentation or it's on the WIKIDATA Sparql api side ?


This is the code i'm using to send request

PHP Code:
    /**
    * Curl SPARQL query
    */
    public function curlQuerystring $sparqlQueryint $delay )
    {
        // CodeIgniter Curl client
        $client = \Config\Services::curlrequest();

        // WikiData SPARQL query url
        $url 'https://query.wikidata.org/sparql';

        // Curl request
        $result $client->request'GET'$url, [
            'headers' => [
                'Accept'    => 'application/sparql-results+json',
                'User-Agent' => 'WDQS-example PHP/'PHP_VERSION,
            ],
            'query'  => [
                'query'      => $sparqlQuery
            
],
            // Sleep before request
            'delay'  => $delay,
        ]);

        // Response code
        $code $result->getStatusCode();

        if ($code === 200)
        {
            // Get body response as array
            $array json_decode($result->getBody(), true);

            return $array ?? false;
        }
        else
        {
            throw new \Exception("WikiData error status code: "$code);
        }
    
Reply


Messages In This Thread
Curl User Agent question about documentation - by eelisland - 03-06-2022, 02:19 PM



Theme © iAndrew 2016 - Forum software by © MyBB