zero-to-prod / stream-context
stream_context_create() 的包装器
v71.2.1
2024-09-07 17:31 UTC
Requires
- php: ^7.1
- ext-openssl: *
- zero-to-prod/data-model: ^71.0
- zero-to-prod/dynamic-setter: ^71.0
- zero-to-prod/transformable: ^71.0
Requires (Dev)
- phpunit/phpunit: ^7.0
README
对 stream_context_create()
方法的包装器。
它提供了定义此方法所有选项的类。
安装
要安装此包,请运行 composer install
composer require zerotoprod/stream-context
使用方法
use Zerotoprod\StreamContext\StreamContext; use Zerotoprod\StreamContext\DataModels\Options; use Zerotoprod\StreamContext\DataModels\Http; $client = stream_socket_client( 'ssl://neverssl.com:443', $error_code, $error_message, 30, STREAM_CLIENT_CONNECT, StreamContext::create([ Options::http => [ Http::method => 'GET', Http::header => "Accept-language: en\r\n"."Cookie: foo=bar", Http::proxy => 'proxy' ], ['options'] ])->context ); fclose($client);
支持的协议
- HTTP:自定义请求方法、头部、用户代理等。
- FTP:使用诸如覆盖、恢复位置和代理等选项来管理文件传输。
- SSL:配置包括对等验证、证书等在内的 SSL/TLS 选项。
- Phar:为 Phar 存档设置选项,如压缩和元数据。
- Zip:处理带密码选项的加密 Zip 文件。
- Zlib:控制 zlib 流的压缩级别。