@habra_desert

Как отправить GET запрос и скачать файл через cURL в php?

Всем доброго времени суток. Хочу научить скрипт забирать данные о стоимости биткоин с блокчейна. Данные отдаются здесь в json после того, как нажмешь на ссылку json внизу. По ссылке передается get-запрос. Я в этом не особо шарю, поэтому посмотрел через firebug в Mozilla, какие данные передаются браузером , когда я нажимаю по ссылке, и решил все то же самое отправлять через cURl, но в ответт почему то получаю

string(6202) "HTTP/1.1 200 OK Server: cloudflare-nginx Date: Fri, 17 Apr 2015 19:53:32 GMT Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Content-Language: ru Content-Security-Policy: img-src 'self' data: https://blockchain.info; style-src 'self' 'unsafe-inline'; frame-src 'none'; script-src 'self' 'unsafe-eval'; connect-src 'self' *.blockchain.info wss://*.blockchain.info https://blockchain.info; object-src 'none'; media-src 'none'; font-src 'none'; Strict-Transport-Security: max-age=31536000; includeSubDomains; preload Vary: Accept-Encoding CF-RAY: 1d8aad39c7640899-FRA Content-Encoding: gzip

а дальше одни иероглифы вида
1N@D=g+(J"F"ARP7? { 2a}#,hF7#P J\P%u.[0lu׸_Kŏ p[t5M29q6()O:r&\U=@* Dd eM&[$3qͨnd&l_


Помогите пожалуйста разобраться.

Код:

$url ="https://blockchain.info/ru/charts/market-price?showDataPoints=false&timespan=&show_header=false&daysAverageString=1&scale=0&format=json&address=";
	
		$ch = curl_init($url);  
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array (
	"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
	"Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3",
	"Accept-Encoding: gzip, deflate",
	"Connection: keep-alive"
	));
		curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166  Safari/535.19"); 
		curl_setopt($ch, CURLOPT_COOKIE, "__cfduid=d705dab328f3360674cdcc1874b053dcc1429298591"); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, False); //проверка SSL- сертификата

		$data = curl_exec($ch);
		var_dump($data);


curl_getinfo выдает следующее:

array(27) {
["url"]=>
string(168) "https://blockchain.info/ru/charts/market-price?sho..."
["content_type"]=>
string(23) "text/html;charset=UTF-8"
["http_code"]=>
int(200)
["header_size"]=>
int(642)
["request_size"]=>
int(575)
["filetime"]=>
int(-1)
["ssl_verify_result"]=>
int(20)
["redirect_count"]=>
int(0)
["total_time"]=>
float(0.313)
["namelookup_time"]=>
float(0.016)
["connect_time"]=>
float(0.063)
["pretransfer_time"]=>
float(0.172)
["size_upload"]=>
float(0)
["size_download"]=>
float(5560)
["speed_download"]=>
float(17763)
["speed_upload"]=>
float(0)
["download_content_length"]=>
float(-1)
["upload_content_length"]=>
float(0)
["starttransfer_time"]=>
float(0.282)
["redirect_time"]=>
float(0)
["certinfo"]=>
array(0) {
}
["primary_ip"]=>
string(15) "141.101.112.196"
["primary_port"]=>
int(443)
["local_ip"]=>
string(11) "37.1.16.236"
["local_port"]=>
int(3224)
["redirect_url"]=>
string(0) ""
["request_header"]=>
string(575) "GET /ru/charts/market-price?showDataPoints=false&timespan=&show_header=false&daysAverageString=1&scale=0&format=json&address= HTTP/1.1
User-Agent: Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
Host: blockchain.info
Cookie: __cfduid=d705dab328f3360674cdcc1874b053dcc1429298591
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

"
}
  • Вопрос задан
  • 2373 просмотра
Решения вопроса 1
YardalGedal
@YardalGedal
yeah boy
Конкретно -- что Вам нужно? Получить содержимое файла? В виде массива?
json_decode(file_get_contents("https://blockchain.info/ru/charts/market-price?showDataPoints=false&timespan=&show_header=true&daysAverageString=1&scale=0&format=json&address="),1);

и содержимое:
var_dump(json_decode(file_get_contents("https://blockchain.info/ru/charts/market-price?showDataPoints=false&timespan=&show_header=true&daysAverageString=1&scale=0&format=json&address="),1));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы