PHP cURL - Странная проблема с curl_setopt - PullRequest
0 голосов
/ 03 сентября 2018

У меня очень странная проблема, вот мой код:

function myFunction($id, $name, $secret) {

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, 'https://www.myurl.com/api');
        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, 
                 http_build_query(
                    array(
                        'Client_id'     => $id,
                        'Client_secret' => $secret, // $secret = Ve6UZ0cox=ry?2F9>qegmB:NCh?EQS?]cKmkjeHjS=3t1=E<RJ
                        'Client_name'   => $name
                    )));

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $results = curl_exec($ch);
        $results = json_decode($results, true);

        print_r($results);

        curl_close ($ch);

        // curl_close($curl);
        return $results['Token_type'].' '.$results['Access_token'];
    }

Приведенный выше код не работает, возможно, из-за специальных символов в $ secret. Но когда я прямо пишу значение $ secret, оно работает!

curl_setopt($ch, CURLOPT_POSTFIELDS, 
                     http_build_query(
                        array(
                            'Client_id'     => $id,

                            // Now, it works!
                            'Client_secret' => 'Ve6UZ0cox=ry?2F9>qegmB:NCh?EQS?]cKmkjeHjS=3t1=E<RJ'
                            'Client_name'   => $name
                        )));

Вывод:

'Client_secret' => $secret // Doesn't work
'Client_secret' => 'Ve6UZ0cox=ry?2F9>qegmB:NCh?EQS?]cKmkjeHjS=3t1=E<RJ' // Work!

И да, я пробовал это: die($secret);, который также отображает Ve6UZ0cox=ry?2F9>qegmB:NCh?EQS?]cKmkjeHjS=3t1=E<RJ.

Что вы можете сделать, пожалуйста? Спасибо за помощь. ; -)

Cheers, Себ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...