toropyga / netcontent
用于与Toropyga网络交互的库
v3.1.1
2022-02-07 12:06 UTC
Requires
- php: >=5.5.0
- ext-curl: *
- ext-fileinfo: *
- ext-iconv: *
- ext-mbstring: *
README
从互联网获取数据
内容
通用概念
NetContent类用于与远程资源交互并获取内容。要运行,需要PHP版本5及以上。
NetContent类的功能
该类可用于从网络获取HTML页面、图像和文件。
该类可以通过使用cURL库函数、直接交互(socket)函数、标准file_get_contents()函数和file()函数连接到远程资源。
支持在Proxy服务器上进行认证。
允许设置和发送任意的HTTP头部参数
即使mb_detect_encoding函数未执行,也能确定文本的编码
可以将文本转换为指定的编码
当标准函数mime_content_type不工作时,支持确定文件MIME类型
可以记录所有操作。
安装
推荐使用Composer安装NetContent库
composer require toropyga/netcontent
或者直接下载并保存库到相应的目录。
工作描述
主要功能
连接类文件
require_once("NetContent.php");
或使用Composer
require_once("vendor/autoload.php");
初始化类
$net = new FYN\NetContent();
注意!!!
类中存在一些默认值。可以在“类变量设置”块中更改所有默认参数。或者可以通过类中以下描述的特殊函数。
通过getContent()函数从外部资源获取内容
$net->getContent('https://www.site.com');
getContent()函数接受多个参数
@param string $url - адрес запрашиваемого рессурса @param int $mode - параметры обработки полученного контента: 1 - вывести в стандартный поток ввода/вывода 2 - обработать и вернуть как строку 3 - парсинг HTML кода и вывод на экран 4 - сохранить в файл 5 - вернуть как есть, без обработки @param mixed $data - параметры передаваемые в запросе к удалённому ресурсу @param string $save_path - путь к директории для сохранения полученного файла относительно текущей директории или полный путь (если директория не существует, класс попытается её создать) @param string $save_name - имя полученного файла при сохранении
示例
$net->getContent('https://www.site.com', 4, 'files', 'index.html');
使用setDebug函数启用/禁用调试功能(将所有操作记录到日志文件)
$net->setDebug(true|false);
日志文件名由变量$log_file或常量NET_LOG_NAME指定
通过以下函数进行交互的预配置
$net->setType($type) - Устанавливаем тип подключения (CURL - библиотека cURL, SOCKET - через socket, FGC - функция file_get_contents, FILE - функция fopen) $net->setProxyUse (true|false) - Работать или нет через прокси сервер $net->setProxy ($address, $port, $user, $password) - Настройка параметров взаимодействия с Proxy-сервером $net->setNCTimeOut($time_in_seconds) - Установка времени ожидания ответа от сервера $net->setMethod('GET|POST') - Установка метода передачи данных при подключении к запрашиваемому URL (GET или POST) $net->setUser($user, $password) - Установка имени пользователя и пароля используемых при подключении к удалённому серверу $net->setNCAuth ($type, $key, $use) - Установка заголовка авторизации на удалённом сервере (type - тип авторизации, $key - ключ авторизации, $use - добавлять или не добавлять логин и пароль в адресную строку) $net->setHeaderCURL(true|false) - Устанавливаем параметр получать или нет для обработки заголовки при работе с CURL $net->setHeaders($header, $value) - Установка значений дополнительных заголовков, используемых при подключении $net->setOPTcURL($option, $value) - Установка конфигурационных параметров для библиотеки cURL
每个函数的详细说明将在下面提供
类支持通过预定义的常量进行设置
NET_DEBUG - включение/выключение отладки NET_TYPE - тип используемого подключения NET_USE_PROXY - работать или нет через Proxy-сервер NET_PROXY_ADDRESS - адрес Proxy-сервера NET_PROXY_PORT - порт Proxy-сервера NET_PROXY_USER - пользователь Proxy-сервера NET_PROXY_PASSWD - пароль пользователя Proxy-сервера NET_TIMEOUT - время ожидания ответа от сервера NET_METHOD - метод передачи данных при подключении к запрашиваемому URL (GET или POST) NET_PROTOCOL - протокол взаимодействия по умолчанию (http, https и т.п.) NET_NOT_SECURITY - использовать небезопасное соединение в модуле cURL NET_LOG_NAME - имя файла логов
附加功能
返回最后保存文件的路径
$path = $net->getLastSavedPath();
确定文件MIME类型(当标准函数mime_content_type不工作时使用)
@param $filename - путь к файлу $mime = $net->get_mime_content_type($filename);