我需要从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中运行良好)
非常感谢!
答案 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);
经过测试,它适用于此网站。