У меня очень странная проблема, вот мой код:
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,
Себ