Jostain syystä iltasanomat.fi on estänyt cURL pyynnöt (tulee Forbidden 403). Millähän ko. eston saisi kierrettyä? PHP käytössä.
Jos esto todella kohdistuu cURLiin, luultavasti sen voi kiertää muuttamalla asetusta CURLOPT_USERAGENT. Muista kuitenkin, että estolle on luultavasti jokin syy ja että materiaalin luvaton kopiointi ja esittäminen omilla sivuilla voi olla kielletty ja siis lain vastaista.
Tulee pelkästään omaan käyttöön. Käytän tätä:
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4) Gecko/20091030 Gentoo Firefox/3.5.4");
Mutta ei auta. Osaatko ehdottaa vaihtoehtoa?
Mistä koitat ajaa sitä? En ainakaa saannu millää curlin asetuksilla 403 erroria (edes pelkällä urlilla).
MBnetistä. Toimiiko sinulla tämä:
print file_get_contents("http://www.iltasanomat.fi");
Minulla ainakin tuo rivi toimii aivan hyvin.
Myös MBnetissä?
Olli kirjoitti:
Myös MBnetissä?
Ei löydy mbnet tunnareita, mutta jollei sulla toimi siellä, niin tuskin kenelläkään muullakaan toimii.
En tietenkään pysty testaamaan koodia MBnetissä, mutta mitä hyötyä siitä testistä olisi, kun sinä olet jo testannut? En usko, että koodin toiminta vaihtelisi eri käyttäjillä. Minusta on jo tämän tiedon perusteella aika todennäköistä, että MBnetin ja Ilta-Sanomien väliset yhteydet on estetty joko MBnetin puolelta (jottei tuollaisia viritelmiä tehtäisi kaistaa tuhlaamaan) tai Ilta-Sanomien puolelta (jos joku MBnetin käyttäjä on aiheuttanut heille häiriötä).
Testasin MBnetissä eikä www.iltasanomat.fi toiminut. Myöskään vastaava koodi osoitteeseen www.hs.fi ei toiminut. Sen sijaan www.ohjelmointiputka.net toimi.
Testasin vielä yliopiston palvelimella, ja siellä www.iltasanomat.fi toimi ongelmitta.
Joo. Onkohan siis mahdollista kiertää tuo esto jotenkin? Uskoisin että esto on IS:n puolelta, ei MBnetin.
Siinä tapauksessa ei ole mahdollista muuten kuin käyttämällä toista palvelinta.
Olli kirjoitti:
Joo. Onkohan siis mahdollista kiertää tuo esto jotenkin? Uskoisin että esto on IS:n puolelta, ei MBnetin.
Voit vaikka google cachesta koittaa hakee (tulee pienellä viiveellä).
http://webcache.googleusercontent.com/search?q=cache:iltasanomat.fi&hl=fi&prmd=imvns&strip=0
Eli mitkään header-kikkailut ei onnistu? Mistä muualta kuin headereista IS:n palvelin tietää, että requesti tulee juurikin Mbnetistä? Täytyy varmaan ottaa tuo tuutin tarjoama ratkaisu, vaikka viivettä ei saisi esiintyä..
Otsikoista ei näe, mistä pyyntö tulee, ja vaikka näkisikin, olisi aika hölmöä estää lataaminen tarkistuksella, jonka voisi helposti kiertää. Lähteen näkee suoraan IP-osoitteesta, ja sille et voi mitään.
Kannattais harkita panostaa joku 20e/vuodessa johki webhotelliin ja hylätä mbnetti (vissii toinen vai kolmas viesti sulta, missä nimenomaa mbnetti ongelmana) tai edes joku virtualisointi softa asentaa (esim. Virtualbox) ja pyöritellä omalla koneella jonku linuxin päällä noita.
Olen kyllä tuota miettinyt, mutta en oo sainu vielä aikaseksi. Halpojahan nuo oikeatkin webhotellit ovat...
Aihe on jo aika vanha, joten et voi enää vastata siihen.