PHP-cRUL kezdés
2013-03-11T20:00:45+01:00
2013-03-13T19:23:08+01:00
2022-07-19T04:01:54+02:00
  • újabb problémám van:
    A php segítségével szeretnék sütit készíteni, de valamiért nem sikerül. Pedig a http fejlécben benne van. De a php valamiért nem akarja megjeleníteni, és a böngésző sem látja.


    <?php $ch = curl_init(); $data = array('keyword' => 'dysrhsh', 'search' => 1); $strCookie = 'suti=' . 'njhhjjh'; $options = array( CURLOPT_URL => 'http://localhost/proba.php', CURLOPT_HEADER => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $data, CURLOPT_COOKIE => $strCookie, //CURLOPT_COOKIEFILE => 'cookie.txt', //CURLOPT_COOKIEJAR => 'C:/xampp/htdocs/proba/cookie.txt' ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result; $fp = fopen("C:\xampp\htdocs\proba\prog1.txt", 'w'); fwrite($fp, $result); ?>

    proba.php
    <?php setcookie('suti','123456789', time()+3600); echo $_COOKIE['suti']; ?>

    Mi lehet a probléma?
    Mutasd a teljes hozzászólást!
  • 2. ja, az lényegtelen, hogy hol fut a cURL. A szerver alapvetően attól szerver, hogy kiszolgál valami kérést, nem attól, hogy rá van ragasztva egy címke.
    Mutasd a teljes hozzászólást!
  • 1. kipróbáltam, már értem

    2. esetben a szerveren lesz a kliens. Csak az zavart be, hogy tulajdonképpen a szerver futtatja le a cURL-t

    köszi a segítséget
    Mutasd a teljes hozzászólást!
  • 1. a CURLOPT_HEADER arra való, hogy amikor a curl_exec visszaadja a szervertől kapott adatot (ha a CURLOPT_RETURNTRANSFER 1-re van állítva), akkor ott visszaadja-e a kapott headert is vagy ne. Tehát semmi köze ahhoz, hogy mit küld a szerver felé. Pl. csinálj egy kérést prog.hu felé be és kikapcsolt CURLOPT_HEADER beállítással, mentsd le mindkettő választ egy-egy szövegfájlba és hasonlítsd össze.

    2. a cURL a kliens a http kommunikáció során, nem válaszol semmit senkinek. Küld egy (általad összeállított) kérést egy szerver felé, és a szerver válaszol neki (amit utána feldolgozhatsz).
    Mutasd a teljes hozzászólást!
  • Utána olvastam a http-nek és felmerült néhány kérdés.


    1. Hogy ha a POST és a COOKIE a fejlécben van, akkor ogyan küldi el ha a CUTLOPT_HEADER-t FALSE-re állítom?

    2. Hogy a szerver a kliens kérésére válaszol, akkor a cURL tulajdonképpen kérés nélkül válaszol a kliensnek?

    Egyenlőre csak ennyi ugrott be, valószínű, hogy én értettem félre valamit, ezért szeretném tisztázni.
    Mutasd a teljes hozzászólást!
  • A php5-curl egy libcurl implementáció szinte teljesen azonos.
    Keress magyar documentációt a libcurl-hez az is megteszi.

    Ezen a területen az angol a domináns, szerintem megéri angolt tanulni, nagyon nagy segítség.

    A cURL re vissza térve, fontos hogy tisztában légy azzal, hogy hogyan is müködik a HTTP, mit jelent az hogy "stateless protocol", meg úgy általában hogyan működik az egész dolog, milyen headerek vannak, Cache, Cookie, User-Agent, Content-Type, X-* stb.
    Ha ezek megvannak akkor léphetsz tovább és kezdhetsz el játszadozni.
    A cURL-t kényelmes használni mert pl kezeli a sütiket, automatikusan kodól és dekodól dolgokat neked, egy csomó beállítást egyszerűen meg tud oldani viszont ami nagyon fontos, az az, hogy mindig 1 kérést hajt végre, egy viszonylag hatékony eszköz de kell tudni használni.

    Ha pl egy crawlert/botot/spidert szeretnél írni ami bizonyos információkat kinyer egyes oldalakból akkor a cURL nem lesz mindig elég. Egy HTML oldalból pl csak a linkek kinyerése komoly gondot okozhat ha pl Az Apache ISO-8859-2 kódolásról beszél van 2 meta taged amiből az egyik UTF-8 de a válasz valójában Latin1, relativ URL-ek vannak base href nélkül és a href tagok valami furcsa oknál fogva kétszeresen vannak URL enkódólva.

    A spiderek írásánál sokan használnak RegExp-et viszont a HTML nem reguláris nyelv és ere sokan csak később jönnek rá.

    Amúgy meg a COOKIEFILE az a file ahonnan a cookikat olvassa, vagyis mielőtt eklüldene egy kérést menézi, hogy ebben a fileban van-e valami ami talál a kéréshez. A COOKIEJAR meg a süteményes befőttesüveg ide pakolja a kapot sütiket, magyarul ide írja be azokat a sütiket amiket a webszervertől kapott. Az egyszerűség kedvéért a két érték általában ugyan az a file.
    Mutasd a teljes hozzászólást!
  • Feladat van, bár magam se tudom pontosan mi
    A php oldaláról én is szoktam nézni, csak az a bak, hogy ha sikerül is lefordítani [kezdő angolos vagyok ] nem biztos, hogy sikerül megértenem(Pl.: CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR) nem nagyon értem, hogy ezek mik, mire jók.

    Valószínű bennem van a hiba, hogy nem értem, de ezért írtam, hogy ha lehet magyar legyen
    Mutasd a teljes hozzászólást!
  • Én innen szoktam tájékozódni: link, főleg ez hasznos: link. De én általában feladathoz keresek eszközt, nem eszközhöz feladatot
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    A kérdésem az lenne, hogy hogyan kezdjem el a cURL-t PHP-n keresztül? Milyen dokumentációt ajánlotok(könyvek, internetes írások, stb...).
    A telepítés meg van, és azt megcsináltam, amit egy szimpla file_get_contents() függvénnyel is meg lehet csinálni, illetve a POST használatát sikerült megtanulnom.
    A könyvek lehetőleg magyar nyelvűek legyenek, de ha angol akkor is jöhet.

    Segítségeteket előre is köszönöm

    Bence
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: L�gy sz�ves tanuld meg, hogy mi a k�l�nbs�g a t�rsalg� �s a tud�st�r k�z�tt!
abcd