toropyga/netcontent

用于与Toropyga网络交互的库

v3.1.1 2022-02-07 12:06 UTC

This package is auto-updated.

Last update: 2024-09-07 17:42:51 UTC


README

从互联网获取数据

License Version PHP

内容

通用概念

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);