Библиотека на Php Curl

Php за начинаещи

Инициализиране на CURL сесия и зареждане на уеб страница

Какво ни дава това, но фактът, че интернет страницата е била изтеглена с функции Curl и след това е дадена на браузъра и сървъра е получила само информацията за нас, която ние самите искаме да й дадем. В дадения скрипт не сме прехвърлили нищо на сървъра. Освен това сега не се нуждаем от връзка за сокет.

Какво е необходимо, за да работи това

Изпълнете такъв скрипт и вижте дали има поддръжка за Curl, той ще се вижда в приставките. Ако няма поддръжка на Curl, погледнете реда от php.ini

За php4 го заменете с

виждате, че сме регистрирали пълния път до папката тук "външно" - може да е папка с модули

ако се извика папката с допълнителни модули разширения или друго име, например вътр, това е името на папката.

Намерете папката разширения, трябва да е с основния файл php.exe. Тази папка трябва да съдържа модула Curl - php_curl.dll, освен това в папката с модули за Win32 това е папката, където са основните файлове с разширението .dll (напр. win/sistem/drivers/или windows/sistem32/или други) трябва да има два допълнителни файла libeay32.dll и ssleay32.dll. Ако те не са там, тогава сами ги напишете там от папката dll, който е до папката разширения.

Премахнете ";" от реда в php.ini

Вижте дали има поддръжка за Curl. Ако не, тогава ще се опитаме да свържем модула динамично. Ето архива на модулите php_curl.dll за Windows (412 Kb). Просто го изтеглете и опитайте да инсталирате.

Нека да формираме заявка към сървъра, т.е. какво искаме да му покажем за нас. В бъдеще ще му дадем точно това и той ще мисли за нас по начина, по който го записваме. Тоест ние формираме заглавна част заявка.

Ако не премахнете разширението xml, тогава браузърът ни ще покаже текст в xml формат, който не ни е необходим, тъй като няма да изтегляме страниците от браузъра, а програмата разбира xml точно като текст, което е лошо за нас . Ако само си тръгнахме Приемам: text/html; тогава сървърът ще се опита да ни даде страницата в html формат. Същото за Accept_encoding: идентичност ако редът е такъв, сървърът ще се опита да ни даде документ, некомпресиран във формат gzip. Не е тайна, че самият браузър разопакова страници в този формат и ни показва. Това се прави на много сървъри, за да се ускори интернет. Но тъй като няма да изтегляме страниците с браузър, не можем да ги получим в компресиран вид. Така че заявката се генерира, какво следва?

$ валута) <
ако ( is_array ($ val ue)) $ vars. = data_encode ($ val ue, $ ключ префикс. $ ключ. $ ключ постфикс . urlencode ("["), urlencode ("]"));
друго $ vars. = $ ключов префикс. $ ключ. $ ключ постфикс. "=" . urlencode ($ валута). „&“;
>
върнете $ vars;
>

// Функция за разделяне на URL
функция _parse_url ($ път) <
preg_match ("

", $ path, $ arr);
ако ($ arr [0] == '') < return масив ('път' => $ път); >
връщане масив ('схема' => $ arr [1], 'хост' => $ arr [2], 'път' => $ arr [3], 'заявка' => $ arr [4]);
>
// изходна функция
функция output_r ($ path) <
$ arr = _parse_url ($ път);
$ host = $ arr ['host'];