<?php
$options = array (
CURLOPT_RETURNTRANSFER => true, // pour revenir page Web
CURLOPT_HEADER => false, // pour revenir en-têtes en plus de contenu
CURLOPT_FOLLOWLOCATION => true, // de suivre les redirections
CURLOPT_ENCODING => "", // pour gérer tous les encodages
CURLOPT_AUTOREFERER => true, // de mettre en referer sur redirection
CURLOPT_CONNECTTIMEOUT => 5, // définir un délai à la connexion
CURLOPT_TIMEOUT => 5, // définir un délai de la réponse
CURLOPT_MAXREDIRS => 5, // pour arrêter après 10 redirections
CURLINFO_HEADER_OUT => true, // pas de tête hors
CURLOPT_SSL_VERIFYPEER => false, // pour désactiver la vérification du certificat SSL
CURLOPT_FORBID_REUSE => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_COOKIESESSION => true,
);
$handle = curl_init($url);
curl_setopt_array ($handle,$options);
curl_setopt ($handle,CURLOPT_PROXY,'69.7.113.4');
curl_setopt($ch, CURLOPT_PROXYPORT,80);
$raw_content = curl_exec($handle);
curl_close ($handle);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_HEADER, 0); // retourner têtes 0 non 1 oui
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Page 1 Retour: oui
curl_setopt($ch, CURLOPT_TIMEOUT, 200); //http Request Timeout 20 secondes
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Suivez les redirections, besoin si les changements d'URL
curl_setopt($ch, CURLOPT_MAXREDIRS, 2); //si le serveur http donne la réponse de redirection
curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt"); // le stockage de cookies / ici les modifications ont été apportées
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // false pour https
curl_setopt($ch, CURLOPT_ENCODING, "gzip"); // le codage de la page
$data = curl_exec($ch); // exécuter la requête HTTP
curl_close($ch); // fermer la connexion
curl_setopt($ch, CURLOPT_AUTOREFERER, true); // true для автоматической подстановки referer
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); // Тайм-аут подключения в секундах
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 10000); // В милисекундах
curl_setopt($ch, CURLOPT_COOKIEFILE, 'file.txt'); // Файл для сохранения/чтения кук
curl_setopt($ch, CURLOPT_COOKIEJAR, 'file.txt');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // Тип запроса - GET, POST, PUT, DELETE
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // true - включить поддержку перенаправления, если был отправлен заголовок Location: ...
curl_setopt($ch, CURLOPT_HEADER, true); // true для включения заголовков в вывод.
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-type: text/plain', 'Content-length: 100']); // Массив устанавливаемых HTTP-заголовков
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // Тайм-аут чтения в секундах
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 60000); // В милисекундах
curl_setopt($ch, CURLOPT_POST, true); // true для типа запроса POST
curl_setopt($ch, CURLOPT_POSTFIELDS, 'a=b&c=d'); // Отправляемые данные
curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => '@file.txt']); // @ - загрузка файлов
curl_setopt($ch, CURLOPT_FILE, 'savefile.zip'); // Данные буду загружать не в оперативную память, а в файл (полезно при скачивании файлов)
//При загрузке данных будет вызываться функция прогресса
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, function($ch, $dwnTotal, $dwn, $uplTotal, $upl){
$dwnTotal // Количество байт, которые нужно скачать
$dwn // Количество уже загруженных байт
$uplTota // Количество байт, которое нужно отдать
$upl // Количество отданных байт
});
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8080'); // Установка подключения через прокси, ip:port
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); // Установка типа прокси, возможные значения - CURLPROXY_HTTP, CURLPROXY_SOCKS5
curl_setopt($ch, CURLOPT_REFERER, 'http://google.com'); // Установка referer
curl_setopt($ch, CURLOPT_USERAGENT, 'My User-Agent'); // Установка user-agent
curl_setopt($ch, CURLOPT_USERPWD, 'Login:Password'); // Basic - авторизация
curl_setopt($ch, CURLOPT_URL, 'http://mysite.com');
Last active
February 23, 2021 14:44
-
-
Save gostrafx/a03696498fb2d6b55c08a5a80c2ffd17 to your computer and use it in GitHub Desktop.
Curl php
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment