2016-02-05 5 views
0

Мне нужно получить json из BitSkins, поэтому я создаю этот код. (Ниже) Этот код работает хорошо с другой URL,, но теперь у меня есть проблема с этим URL:PHP cURL - символ ★?

https://bitskins.com/api/v1/get_price_data_for_items_on_sale/?api_key=XXX&code=XXX&names=★ Bayonet,★ Bayonet | Blue Steel (Battle-Scarred),★ Bayonet | Blue Steel (Factory New) 

Мой код:

$url = urlencode('https://bitskins.com/api/v1/get_price_data_for_items_on_sale/?api_key=XXX&code=' . $totp . '&names=' . $string); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
$output = json_decode($output, true); 

Я попытался также без UrlEncode(), но до сих пор ничего. Может быть символом ★ или запятой в URL? (В URL-адресе браузера работает хорошо)

Большое спасибо!

ответ

0

Вы не хотите кодировать весь URL-адрес, а не только сами значения строки запроса.

E.G.

$url = 'https://bitskins.com/api/v1/get_price_data_for_items_on_sale/' 
     .'?api_key=XXX&code=' . $totp . '&names=' . urlencode($string); 

Протестировано и работает на этом сайте.

+0

О, спасибо, я бы никогда этого не сделал :) Ты мне очень помог! –

Смежные вопросы