Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tietojen haku ulkopuolelta kiertäminen

Ämppi [05.12.2016 10:56:42]

#

Moi,
pitäsi saada file_get_contents toimimaan mutta on estetty. Mikäs tähän on vaihtoehtona, googlettamalla löytyy vain päinvastaisia ohjeita. JSONia pitäisi pystyä lukemaan.

groovyb [05.12.2016 11:03:31]

#

Estetty miten? jos CORS:lla (Cross origin resource sharing), niin sitten ei kyllä hirveästi vaihtoehtoja ole. Tuo tarkoittaa että mesta mistä olet kamaa hakemassa, on estänyt resurssienjaon oman domaininsa ulkopuolelle (tai rajannut sallittuihin). Tässä tapauksessa ei auta kuin olla yhteydessä paikkaan mistä haluaa kamaa hakea, ja pyytää lupaa että oma domain lisätään sallittujen listalle.

Ämppi [05.12.2016 11:10:09]

#

Puhun siis siitä oman palveluntarjoajan estosta.

Mut hei, itse asiassa yön nukuttuani osasin esittää Googlelle oikeat hakusanat (file_get_contents not working) ja sain ratkaistua ongelmani!

jlaire [05.12.2016 12:53:28]

#

Kerro ihmeessä se ratkaisu muillekin. Seuraava googlettaja saattaa löytää tämän keskustelun.

Metabolix [05.12.2016 16:38:19]

#

Yleensä kannattaa katsoa (ja kertoa), millainen virheilmoitus tulee. Sitä virheilmoitusta voi hyödyntää myös ratkaisun etsimisessä.

Ainakin yksi mahdollinen ongelma on PHP:n asetus allow_url_fopen, joka joillain palvelimilla on laitettu pois päältä. Silloin file_get_contents ei lataa netistä tietoa vaan tulee sellainen virheilmoitus kuin ”http:// wrapper is disabled in the server configuration by allow_url_fopen=0”. Ratkaisu on tietysti kyseisen asetuksen muuttaminen.

# asetustiedostoon (php.ini)
allow_url_fopen = 1

Toinen mahdollinen ongelma on SSL-sertifikaatin tarkastus, joka joillain palvelimilla tuntuu olevan rikki (ts. luotettuja juurisertifikaatteja ei löydy). Tähän paras ratkaisu on palvelimen asetusten korjaaminen, ja hätätilanteessa toimiva purkkaratkaisu on ohittaa tarkastus.

<?php
stream_context_set_default(["https" => ["verify_peer" => false]]);

Tietenkin on monia muita mahdollisia syitä, miksi file_get_contents ei toimisi, ja niiden selvittelyssä on hyödyksi virheilmoituksen lukeminen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta