Есть ссылка, при запуске которой в браузере, выводится json: [{"id":12100433,"moment":1408924806,"point":0,"point_at":1408924800,"value":"2","station":27199,"stream":1,"code":7032,"unit":"m","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0},{"id":12100434,"moment":1408924806,"point":0,"point_at":1408924800,"value":"280.88","station":27199,"stream":1,"code":12101,"unit":"k","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0}] Как получить эти данные по ссылке http://xxx.xxx.xxx.xxx:xxxx/get?stations=27199&point_at=1408924800 в php? Пробую: Код (Text): $body = file_get_contents('http://xxx.xxx.xxx.xxx:xxxx/get?stations=27199&point_at=1408924800'); $st=json_decode($body); var_dump($st); Пишет NULL...
var_dump($body) выдает какую-то хрень: string(1156) "‹е›лnЫ:З_E0°oIGк®{’a(јФkѓеІ5О†ЅыЎІћ\Z%‘MП‹У/ЃЈXІь3MюI)џ~Уыв%hҐFЕ|9Ї5µhрAjvT|_Nc<Э•ыїSл?еl]·…,FЕЄ.лйrQЬJ‡!ДпOU9§уGЕdyOg9PrT¬S¤SЏyµZ•Х]њ‡ јЈ^ЛхУ„N^¬g3єj9щVХЫYRч ZWч3QФпЛzJЈ~RњoЕXРЎ МоPЉ[›ирЈш)зї>›®wЏек‘ЮJ㬥йяХяТќяpТLNnјПЃЇ‡[ZЯ†IЛ0i№p0—–:-ЛЈф @,{°Ю –„Гr–WЙ“{y‡M™№ПсҐМDx¦ЙnZьппћљpѓwGЧ<ч.^ЈSq&ьi±4+A”t[є_gеCлP:XМЬф2і§)wЈX‹™™—ж9 bfз,¦‹·ШхЭиb;[ѕЇћ*Іж§х›2f¦xmВz/шЅ_Ѕ!Ж–©zыsLќ&л4•Рi[Ц'YzJі%[ЗК7¶/Э‹ ‘kУёT-И…Oxъ0qЋ4KХ9ABМzЎbҐLиXҐpф‰B)%B,ЋС'5cЊАчФ1з№ѓaЇ^2™Цµ–&сtв]џx:ЖҐ‹!–}ћџО!M)*№‰MGІгRъ«РN‹‹gиіЪUG\R‚©2ў\.зк‹—Д%Ґsљp鬔vIPR‚¤ ”Ћл®„Ж§ў_‡ЭI‘в-ЂрЦВЁё±-®K›nЦҐ‡,Uk$ВMИvzizАБѕ§—±Ќwb-ё&H1Г?йЙ¬8ПГбУbЉ‚ђ‘qБЙM"gQy*Jц^ЉJ†¬Fъш’› ©вC8”ЗеfН‘вЅЂSWееl‘NW/ЭЯБДХToSIеUы†Џ‰«џHЎc®а”АњЎMђsЇ±8ВB±LќИс7эН–Jеї!ЅЇд$›Ѕ2§тЇ1!u§±э)лa†ь±нd#ЙEВ±АщY%yP‚ћ Y`FэlJfР”z‰fЬ<ЧBzi0NKѓ В©Н1 wј9жљIчQІЙЯsН¤™%џqgKЮЧ™[)ъЫd®7S™w№SжЉ1#Sјци:Т<@оzѓG‚&Sдv№aж*x2ерXЩѕМЩ> NєЧ<ќ·AЄш‡ЎЈ8™Ъ{4Пещщ?‚ьТ4ё>"
но результат работы http://xxx.xxx.xxx.xxx:xxxx/get?stations=27199&point_at=1408924800 выдает: [{"id":12100433,"moment":1408924806,"point":0,"point_at":1408924800,"value":"2","station":27199,"stream":1,"code":7032,"unit":"m","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0},{"id":12100434,"moment":1408924806,"point":0,"point_at":1408924800,"value":"280.88","station":27199,"stream":1,"code":12101,"unit":"k","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0},{"id":12100435,"moment":1408924806,"point":0,"point_at":1408924800,"value":"279.91","station":27199,"stream":1,"code":12103,"unit":"k","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0}] а как тогда получить можно эти данные?
Что выдает, блин... Ты такой странный, какие то крестики показываеш. Либо показывай ссылку, либо дрочись сам.
Ну да, ну да. Когда дело доходит до-"покажи ссылку"-сразу же становится локалкой. Ну да ладно. Не хочешь показывать не надо Но мы тебе не сможем помочь так, к сожалению.
А ты однако доверчивый и юмора не понимаешь, очень жаль =) Веб-страница недоступна ПИЧАЛЬ! А перейдя по ссылке у себя там, где-то..., у тебя нормально отображается текст, а когда начинаешь запрашивать с помощью file_get_contents выбивает иероглифы?
ага, при вызове ссылки в браузере все норм отображается: [{"id":12100433,"moment":1408924806,"point":0,"point_at":1408924800,"value":"2","station":27199,"stream":1,"code":7032,"unit":"m","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0},{"id":12100434,"moment":1408924806,"point":0,"point_at":1408924800,"value":"280.88","station":27199,"stream":1,"code":12101,"unit":"k","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0},{"id":12100435,"moment":1408924806,"point":0,"point_at":1408924800,"value":"279.91","station":27199,"stream":1,"code":12103,"unit":"k","message_id":399087,"source":null,"packet":12100432,"created_at":1408924837,"bui":"[3 07 086 - 3 02 035 - 3 02 032 : 0 07 032 = {2m}]","bui_hash":1986257669,"qlty":0}]
Значит кодировка дрянная. Посмотри какая у тебя, а какая приходит и все, а дальше проблема сама собой отвалится или поможем залатать.
т.е. то, что я получаю Код (Text): $json_file = file_get_contents($json); нужно переводить в другую кодировку, а потом уже Код (Text): $info = json_decode($json_file); ?
Агась. Только чувство такое, что он какой - то запакованный получается. Сделайте так: Код (PHP): $body=file_get_contents('http://xxx.xxx.xxx.xxx:xxxx/get?stations=27199&point_at=1408924800'); file_put_contents('put.txt',$body); // И заодно покажите, это еще: var_dump($http_response_header); А получившийся файл, залили бы куда-то и дали ссылку.
array(6) { [0]=> string(15) "HTTP/1.0 200 OK" [1]=> string(23) "Cache-Control: no-cache" [2]=> string(22) "Content-Encoding: gzip" [3]=> string(30) "Content-Type: application/json" [4]=> string(20) "Content-Length: 1156" [5]=> string(30) "Access-Control-Allow-Origin: *" } ааа, он походу заархивирован... правильно я понимаю?
С этим разобрался. Но такой нюанс: сжатие происходит, когда размер становится больше какого-то размера (непонятно какого). Как-то можно определить есть ли сжатие или нет?