Inštalácia Php curl.

  • 03.11.2019

Zábava

16.02.2006 Jeff Felling

Curl vám pomôže spravovať dáta hosťované na webe Tento článok popisuje bezplatný nástroj Curl, ktorý možno použiť na odosielanie a prijímanie webových stránok z príkazového riadku. Curl uľahčuje automatizáciu mnohých

Curl vám pomôže spravovať vaše údaje na webe

Tento článok sa zaoberá bezplatným nástrojom s názvom Curl, ktorý vám umožňuje odosielať a prijímať webové stránky z príkazového riadku. Curl uľahčuje automatizáciu mnohých bezpečnostných a administratívnych úloh, ako je napríklad extrahovanie webovej stránky na analýzu alebo stiahnutie bezpečnostnej opravy z webu.

Inštalácia kučera

Curl je súčasťou mnohých unixových distribúcií. Binárne súbory a zdroje sú dostupné pre väčšinu ostatných operačných systémov. Dokonca aj open source PHP programátori môžu použiť Curl na bezpečný prístup k webovému obsahu priamo z PHP skriptov.

Curl vyžaduje balík OpenSSL na prácu s webovými stránkami Secure Sockets Layer (SSL). Existujú dve verzie Curl: jedna s SSL a jedna bez SSL. Odporúčam prvý, pretože SSL spoľahlivo chráni dáta.

Predtým, ako budete môcť používať Curl s funkcionalitou SSL, musíte si stiahnuť a samostatne nainštalovať balík OpenSSL. Binárne súbory OpenSSL pre Windows si môžete stiahnuť zo stránky projektu GnuWin32 SourceForge na adrese . Na tejto stránke je mnoho ďalších užitočných nástrojov, ktoré boli prenesené do systému Windows.

Mali by ste si stiahnuť a nainštalovať balík OpenSSL a potom skopírovať dva súbory DLL do adresára system32:

Skopírujte "C:Program FilesGnuWin32 binlibeay32.dll" %windir%system32 skopírujte "C:Program FilesGnuWin32 binlibssl32.dll" %windir%system32 Potom môžete nainštalovať Curl. Binárne súbory Curl kompatibilné s SSL pre Windows nájdete na http://curl.haxx.se/latest.cgi?curl=win32-ssl-sspi

. Najnovšia verzia, curl 7.15.0, je vo win32-ssl-sspi.zip, ktorý obsahuje curl.exe a dokumentáciu.

Po inštalácii Curl by ste sa mali uistiť, že funguje zadaním príkazu

Ak sa na obrazovke objaví farebné slovo (napríklad zelená), Curl funguje. V tomto jednoduchom príklade Curl získava obsah Infoconu z webovej stránky Internet Storm Center inštitútu SANS. Zelená znamená, že internet funguje normálne a neboli zistené žiadne vážne hrozby. Ak sa na obrazovke namiesto zelenej objavia slová žltá, oranžová alebo červená, odložte tento článok a navštívte webovú stránku http://isc.sans.org dozvedieť sa o vysoko rizikových podmienkach na internete. Ak sa vyskytne chyba, musíte skontrolovať, či je Curl správne nainštalovaný.

Curl v podstate načíta webovú stránku a potom odošle zdrojový kód HTML stránky do konzoly. Možnosti utility sú však širšie. Curl má zabudovanú kontrolu chýb. Napríklad príkaz

Curl http://noservertu

zobrazuje chybu Curl: (6) Nepodarilo sa vyriešiť hostiteľ: noserverhere; Hostiteľ sa nenašiel. Chybové kódy možno použiť v skriptoch na testovanie dostupnosti webovej stránky alebo odozvy webového servera. Ak napríklad používate Curl na načítanie webovej stránky každý deň, konkrétne dennú štatistiku webovej lokality, môžete skript rozšíriť o zdrojový kód, ktorý hľadá chybové kódy. Ak Curl vydá chybový kód Curl: (7) sa nepodarilo pripojiť k hostiteľovi, môžete okamžite vydať varovanie alebo poslať e-mail.

Extrahovanie zašifrovaných údajov

Jednou z najdôležitejších výhod Curl je jeho kompatibilita s SSL. Požadované stránky HTTPS sa odosielajú zašifrované cez sieť a Curl potom zobrazí obnovený text na obrazovke. Curl tiež kontroluje certifikáty – dátum vypršania platnosti certifikátu, či sa názov hostiteľa zhoduje s názvom hostiteľa v certifikáte a úroveň dôveryhodnosti koreňového certifikátu – a varuje, ak je certifikát nesprávny. Voľba -cacert vám umožňuje zadať konkrétny súbor certifikátu. Kontrola certifikátov je zakázaná pomocou voľby -k. Alternatívnym prístupom je použitie možnosti -insecure.

Nielen pre WWW

Možnosti Curl presahujú jednoduché odosielanie súborov cez internet. Pomocou Curl môžete rýchlo vypísať zoznamy adresárov FTP lokality:

Curl ftp://myftpsite

Ak chcete zobraziť podadresáre lokality, zadajte príkaz

Curl ftp://myftpsite/subdir/

Ak chcete stiahnuť súbor z internetu, jednoducho zadajte názov súboru v adrese URL. Nasledujúci príklad načíta súbor s názvom readme.txt priamo z príkazového riadka a zobrazí ho na obrazovke:

Curl ftp://ftp.microsoft.com/deskapps/games/readme.txt

Často je jednoduchšie pripraviť skript pomocou Curl na vkladanie súborov FTP, než interaktívne používať príkaz FTP.

V predvolenom nastavení sa údaje odosielajú priamo do konzoly, ale môžu byť presmerované do súboru pomocou volieb -o a -O. Ak chcete získať stránku a uložiť ju na disk, musíte zadať voľbu -o. Voľba -O uloží výslednú stránku do lokálneho súboru a Curl získa názov vzdialeného dokumentu. Ak adresa URL neobsahuje názov súboru, táto operácia zlyhá. Ak používate Curl na odoslanie požiadavky na webovú lokalitu bez názvu súboru, ale chcete uložiť výsledok do súboru, môžete zadať názov súboru na príkazovom riadku, napríklad:

Overenie

Curl poskytuje základné, Digest a Integrated autentifikačné metódy. Na väčšine stránok je možné pristupovať k overovacím stránkam založeným na formulároch pomocou funkcií odosielania Curl, ako bude ukázané nižšie. To znamená, že môžete odoslať údaje formulára, ako je vaše používateľské meno a heslo, na vzdialenú webovú lokalitu, ktorá vás vyzve na zadanie informácií na jej webovej stránke. Môžete použiť voľbu -u na preposlanie poverení alebo ich vložiť do URL, ako sa to tradične robí na FTP, napríklad:

Curl ftp://username: password@myhtmlsite

Pomocou Curl možno techniky požičané z FTP preniesť na HTTP, ako v nasledujúcom príklade:

Curl http://username:password @myhtmlsite/default.htm

Curl tiež poskytuje prístup k webovým stránkam cez proxy server. Curl preto môže byť nakonfigurovaný tak, aby používal proxy server na autentifikáciu v režimoch Basic, Digest a NTLM.

Prečítajte si dokumentáciu

V jednom článku je ťažké pokryť všetky mnohé funkcie Curl, vrátane nahrávania súborov na server (-T) a zobrazenia iba informácií v hlavičke HTTP (-I) a zobrazenia všetkých údajov v podrobnom režime (-V ) a skrytý výstup ( -s). Odporúčam vám podrobnejšie sa pozrieť na funkcie Curla v návode uverejnenom na adrese http://curl.haxx.se/docs .

Príklad použitia kučery

Teraz, keď sme sa naučili základy Curl, poďme sa pozrieť na jednoduchý príklad získavania údajov z webovej stránky s určitým vstupom. Vytvorme jednoduchý nástroj Whois, ktorý demonštruje jednoduchosť a jednoduchosť použitia Curl a postup odosielania údajov na webovú stránku pomocou parametra -d. V tomto príklade Curl odošle IP adresu na webovú lokalitu Arin Whois a potom načíta výsledky z tejto lokality. Whois vyhľadá informácie o vlastníkovi adresy IP.

Pred začatím je dôležité preskúmať webovú stránku, pretože zdrojový kód každej lokality je odlišný a Curl nie vždy funguje na každej lokalite rovnako. Predbežná návšteva stránky vám umožňuje zhromaždiť potrebné informácie, aby Curl fungoval. V tomto príklade som na návštevu webovej stránky použil prehliadač http://www.arin.net/whois/ a všimli si, že stránka má jediné pole na zadávanie údajov, v ktorom návštevníci uvádzajú adresu IP, o ktorú majú záujem. Potrebujete získať podrobnosti o tomto poli, ktoré je súčasťou webového formulára. Tento príklad používa skript v jazyku Perl formfind.pl ( http://cool.haxx.se/cvs.cgi/curl/perl/contrib/ formfind?rev=HEAD&content-type=text/vnd.viewcvs-markup). Skript Formfind.pl konvertuje údaje formulára na užitočné výstupné výsledky a uľahčuje manuálne vyhľadávanie údajov v HTML. Samozrejme, na spustenie Formfindu musí byť na vašom počítači nasadený Perl. Dobrý balík Win32 Perl je možné objednať z webovej stránky ActiveState ActivePerl na adrese http://www.activestate.com .

Pozrime sa na príklad podrobnejšie. Najprv sa pozrime na webovú stránku, ktorá obsahuje formulár vyžadujúci informácie:

Curl -o whoisOutputFile http://www.arin.net/whois/

Tento príkaz načíta stránku Whois z http://www.arin.net a uloží ju do textového súboru whoisOutputFile, ktorý obsahuje pôvodný text HTML, ktorý prehliadač vykreslí pri návšteve lokality.

Potom musíte nájsť a vybrať údaje formulára:

./formfind.pl

Formfind poskytuje premenné formulára a ich možné hodnoty. V tomto príklade sú výstupné výsledky celkom jednoduché (pozri. obrazovka 1).

Všimnite si údaje vstupného formulára s názvom queryinput. Toto je textové pole, do ktorého má Curl poslať IP adresu, ktorú hľadáte. Na konkrétnej IP adrese nezáleží – v tomto príklade bola použitá adresa Microsoft. Pomocou parametra -d sa hľadaná adresa IP prepošle do poľa vstupu dotazu:

Curl -d "queryinput= 207.46.133.140" http://ws.arin.net/cgibin/whois.pl

Príkaz Curl s voľbou -d vyhľadá údaje vo formulári, v tomto prípade queryinput, ktorý predstavuje hľadanú IP adresu. V tomto prípade sa cieľová adresa zmení; formulár by mal odoslať údaje na novú adresu URL, ktorá predstavuje skript whois.pl. Novú cieľovú adresu môžete vidieť vo výstupe formfind na obrazovke 1.

Tento príklad tiež načíta pôvodný text HTML odpovede Whois, ale je skrytý skupinou značiek HTML. V predvolenom nastavení sa v správe o stave zvlnenia zobrazuje veľkosť dokumentu, percento dokončenia a rýchlosť preposielania. Výstup je možné trochu vyčistiť a filtrovať podľa názvu organizácie, ktorá vlastní IP adresu. Stav zvlnenia je možné deaktivovať pomocou voľby -s. Príkaz by sa mal vykonať cez grep, aby ste získali iba názov OrgName:

Curl -s -d "queryinput= 207.46.133.140" http://ws.arin.net/cgibin/whois.pl | grep Názov organizácie

V tomto príklade výstup ukazuje, že OrgName je Microsoft Corp.

@echo off curl -k -s -d "queryinput= %1" http://ws.arin.net/cgibin/whois.pl | grep Názov organizácie



Malý program ako curl dokáže veľa a je nepravdepodobné, že by sa predvolene nainštaloval na váš server VPS. Ak ste webový vývojár a neviete, čo je curl, mali by ste sa oboznámiť s jeho schopnosťami a možno niektoré veci, ktoré bolo predtým ťažké urobiť, budú teraz implementované jednoduchšie a efektívnejšie.

Tí vývojári, ktorí niekedy vyvinuli analyzátory HTML - alebo XML - vedia o jeho schopnostiach.

Objavil som pre seba curl až v momente, keď bolo potrebné vyvinúť plugin pre Textpattern, ktorý by v rozpore s politikou sociálnej siete VKontakte automaticky pridal upozornenie o uverejnení nového článku do verejnej skupiny. Bohužiaľ, nemohol som to urobiť bez curl.

Potom, čo sme sa, dúfam, rozhodli, prečo potrebujeme tento curl, pokračujeme v jeho inštalácii na server, kde sú nainštalované PHP a Apache. Ak máte jednoduchý hosting (nie VPS), tak by ste sa mali obrátiť na hostiteľa so žiadosťou o jeho zapnutie a on urobí všetko za vás, ak tak ešte neurobil. Presne toto sa mi stalo na jednom hostingu.

Ako zistím, či mám nainštalovaný curl?

Predtým, ako sa ponáhľame s inštaláciou, skontrolujme: možno ju už máte nainštalovanú. Nenašiel som nič jednoduchšie ako vytvoriť súbor, napr. curl.php s obsahom:


a spustite ho cez prehliadač.

V zobrazenom hárku textu môžete vyhľadať zvlnenie na stránke a ak ho nenájdete, môžete bezpečne predpokladať, že ho nemáte nainštalovaný.

Inštalácia curl na Debian

Od dávnych čias, keď som používal Ubuntu, som si zvykol na distribúcie DEB a nechcem ich meniť. Preto takmer na všetkých svojich serveroch používam ako operačný systém Debian, čo som nikdy neoľutoval.

  1. Nainštalujeme všetko potrebné:
    sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
  2. Potom stačí reštartovať Apache:
    reštartujte sudo /etc/init.d/apache2

Aby sme potvrdili, že curl začal fungovať, musíme znova spustiť náš testovací súbor - curl.php a poslednýkrát prejsť hľadaním na otvorenej stránke. V 99% prípadov uvidíte potvrdenie, že curl už funguje a môžete začať zotročovať internet.

P.S. Teraz je čas, keď je vonku už zima a naša mestská správa sa neponáhľa so zapnutím kúrenia. V takýchto chvíľach možno nájsť spásu len v rôznych ohrievačoch. Vedľajším účinkom každého ohrievača je, že značne vysušuje okolitý vzduch. Domáce zvlhčovače vzduchu pomáhajú bojovať proti tomu. Práve tieto dve zariadenia spoločne pomôžu prežiť toto ťažké obdobie pre Rusko.

Dlho som nič nenapísal PHP, a tak som sa rozhodol napísať krátku sériu článkov venovanú veľkolepým PHP modul - cURL. Ale predtým, ako ho použijete, cURL musí byť nainštalovaný na Denwer, keďže v základnej verzii tohto balíka cURL Vylúčené.

Pred prechodom na inštalácia cURL na Denwer, stručne si povedzme o možnostiach, ktoré tento modul poskytuje. cURL je pohodlný spôsob simulácie akcií používateľa na serveri. V skutočnosti môžete skontrolovať odpoveď servera na konkrétnu požiadavku. Môžete napríklad poslať žiadosti POST a uvidíte, čo server dáva. Napríklad chcete skontrolovať fungovanie autorizačného systému. Samozrejme, môžete manuálne zadať svoje používateľské meno a heslo cez prehliadač a uvidíte, čo sa stane. Bolo by však oveľa pohodlnejšie napísať malú sériu testov, v ktorých sa odosielajú rôzne príklady prihlasovacieho mena a hesla a súčasne sa zobrazí odpoveď zo servera: úspešná autorizácia alebo nie. A už sa pozeráte na to, či autorizačný skript funguje správne alebo nie. Používa sa na podobné účely modul cURL.

Teraz sa poďme zamestnať inštalácia modulu cURL na Denwer:

  • Stiahnite si balík rozšírenia: " PHP5: dodatočné moduly“ cez tento odkaz: http://www.denwer.ru/packages/php5.html.
  • Nainštalujte stiahnutý balík (ak je spustený, najprv zastavte server).
  • V súbore " usr/local/php5/php.ini" odstrániť komentár z riadku: " ;extension=php_curl.dll“, vymazanie úvodzoviek na začiatku riadku.
  • Spustite server.
  • Skontrolujte údaje phpinfo(). Ak vidíš" Podpora cURL je povolená“, potom je všetko v poriadku. Ak nie, potom pozorne skontrolujte, či ste všetky kroky vykonali správne.

Myslím, že v nasledujúcom článku (a možno aj jeden po druhom) budeme tento modul analyzovať na príklade jeho použitia PHP skripty, tak neprepínaj!

nainštalujte a nakonfigurujte apache získajte balíčky PHP5 a získajte balíčky CURL.

Mám spustený apache a spustený PHP skript. žiaden problém. ale keď spustím php skript s curl, zlyhá.

Vráti: **Volanie nedefinovanej funkcie curl_version() v C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php na riadku 5**

V ktorom riadku 5 je volanie funkcie curl_init()

Vytlačím php -i, aby som zistil, či sa volá správna cesta rozšírenia. Je nainštalovaný správne:

Extension_dir => C:\PHP\ext => C:\PHP\ext podpora cURL => zapnuté informácie cURL => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3

Dokonca som sa pokúsil spustiť curl_version(), ale stále sa mi zobrazuje rovnaká chyba.
Vyzerá to, že PHP nemôže nájsť rozšírenie CURL, ale php.ini (rovnako ako php -i) ukazuje, že je nainštalované.

Nejaké nápady? :)

P.S> Systém, na ktorom bežím: Windows XP Apache 2.2 PHP 5.2.6 CURL Win32 Generic Binaries: Win32 2000/XP metalink 7.19.0 binárne SSL povolené Daniel Stenberg 249 KB

Toto som nepochopil:

Win32 2000/XP 7.19.0 libcurl povolené SSL Günter Knauf 1,55 MB Mám si radšej zaobstarať tento?

Dôvod, prečo musím použiť CURL, je požiadavka môjho projektu. Takže sa môžem len držať. XAMPP... ako to funguje na Windows? Existuje stránka, ktorú môžete odporučiť? Ďakujem.

Skúsil som veľa vecí pri inštalácii cURL a skontroloval som všetko, ale stále sa motám okolo problému a netuším, čo sa deje.

Server Apache používa správne PHP.ini. a PHP.ini má správny extension_dir a extension = php_curl.dll Netuším, prečo to nefunguje. dokonca aj ja sledujem každý krok, aby som ho nakonfiguroval. :(


2017-10-08 01:33

Odpovede:

Pravdepodobne sa mýlite, že musíte zmeniť PHP.ini. najprv pridajte PHPinfo(); na info.php a spustite ho z prehliadača.

Poznačte si cestu k adresáru PHP ini, ktorú teraz vidíte v zozname premenných! Pravdepodobne si všimnete, že sa líši od vášho súboru PHP-CLI INI.

Povoliť rozšírenie

máš hotovo :-)


2017-10-08 06:32

Ak chcete nainštalovať zvlnenie, postupujte podľa týchto krokov:

    otvorte v prehliadači https://curl.haxx.se/dlwiz?type=bin.

    Vyberte váš operačný systém z rozbaľovacieho zoznamu: buď Windows/Win32 alebo Win 64. Kliknite na Vybrať!

    Pre Win 32 si vyberte, či budete curl používať v príkazovom riadku Windows (všeobecné) alebo v termináli Cygwin (cygwin). Pre Win 64 si vyberte, či použijete curl v príkazovom riadku Windows (Generic) alebo MinGW (MinGW64). Kliknite na "Vybrať"!

    V prípade potreby vyberte operačný systém Windows. Koniec.

    Kliknite na Stiahnuť pre verziu s povoleným alebo zakázaným SSL.

    Otvorte stiahnutý súbor zip. Rozbaľte súbory na ľahko dostupné miesto, ako napríklad C:\Program Files.

Testovanie kučier

    Otvorte terminál príkazového riadka systému Windows. (V ponuke Štart vyberte položku Spustiť a zadajte príkaz cmd.)

    Nastavte cestu tak, aby obsahovala adresár, do ktorého umiestnite curl.exe. Napríklad, ak ho vložíte do C:\Program Files\curl, zadáte nasledujúci príkaz: set path=%path%; "c:\Program Files\curl"

POZNÁMKA. Môžete tiež priamo skopírovať súbor curl.exe s akoukoľvek existujúcou cestou vo vašej ceste

  1. Typ zvlnenie. Zobrazí sa nasledujúca správa: curl: skúste "curl -help" alebo "curl -message" pre viac informácií To znamená, že curl je nainštalovaný a cesta je správna.

2018-06-12 20:00

Používam XAMPP, ktorý má niekoľko súborov php.ini.

Riadok nájdete v súboroch php.ini: ;extension=php_curl.dll

Prosím, vymažte; na začiatku tohto riadku. Možno budete musieť reštartovať server Apache.


2018-05-01 15:59

S týmto som mal tiež problémy. Po správnom vykonaní všetkých týchto krokov a odstránení niektorých nedorozumení (žiadny súbor extensions_dir, ale súbor extension_dir a žiadny session.save_path ale session.save_path) nič nefunguje.

Nakoniec som našiel túto poznámku na php.net:

Poznámka. Poznámka pre používateľov Win32: Ak chcete povoliť tento modul v prostredí Windows, vo vašej PATH musia byť prítomné libeay32.dll a ssleay32.dll. Nepotrebujete libcurl.dll zo stránky cURL.

Tak som skopíroval ssleay32.dll, libeay32.dll & php_curl.dll z /PHP do Windows/system32 a nahradil som už existujúce súbory (všimol som si, že existujú staré verzie ssleay32.dll a libeay32.dll). Potom som našiel sekciu CURL v php_info(); a nakoniec vsetko funguje.


2018-02-08 16:59

Nedávno som nainštaloval Curl na PHP5 pre Windows Vista. urobil som nie zahrnúť knižnicu CURL, keď som pôvodne nainštaloval PHP5, takže sa v Curl v phpinfo() alebo php.ini nič neobjavilo.

CURL som nainštaloval reštartovaním inštalátora PHP5 (pre mňa php-5.2.8-win32-installer.msi) a výberom "Upraviť". Potom som pridal komponent CURL. Reštartujte Apache a CURL by malo fungovať. CURL sa objaví v phpinfo(). Okrem toho tu je príklad skriptu, ktorý môžete spustiť, aby ste zistili, či funguje. Zobrazuje informačný kanál RSS od spoločnosti Google:


2017-12-19 13:49

Poznámka. Poznámka pre používateľov Win32. Ak chcete povoliť tento modul (cURL) v prostredí Windows, vo vašej PATH musia byť prítomné libeay32.dll a ssleay32.dll. Nepotrebujete libcurl.dll zo stránky cURL.

Táto poznámka vyriešila môj problém. Premýšľal o zdieľaní. libeay32.dll & ssleay.dll nájdete v inštalačnom priečinku php.