PHP cURL - ★符号?

时间:2016-02-05 20:03:22

标签: php url curl

我需要从BitSkins获取json,所以我创建了这个代码。 (下方)此代码适用于其他网址,但现在我对此网址存在问题:

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中运行良好)

非常感谢!

1 个答案:

答案 0 :(得分:0)

您不希望对整个网址进行编码,而只是编码查询字符串值。

E.G。

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

经过测试,它适用于此网站。