geerlingguy/request

一个简单的PHP HTTP请求类。

1.x-dev 2021-12-15 19:06 UTC

This package is auto-updated.

Last update: 2024-09-16 01:08:11 UTC


README

Request for PHP Logo

请求

一个简单的PHP HTTP请求类。

此类包含许多方便的方法,以帮助减轻在PHP中处理HTTP请求的烦恼。

用法

使用自动加载器包含类(\JJG\Request),然后创建一个新的请求对象,执行请求,并获取响应。

$request = new Request('http://www.example.com/');
$request->execute();
$response = $request->getResponse();

执行请求后可以检索的其他参数包括

// The full headers from the response.
$request->getHeader();
// The latency for this response, in ms.
$request->getLatency();
// The HTTP status code (e.g. 200 for 200 OK).
$request->getHttpCode();
// Empty if no error present, otherwise shows any cURL errors.
$request->getError();

还包含其他用于其他目的的方便方法。

// Returns TRUE if 'string' exists in the response.
$request->checkResponseForContent('string');

您还可以使用基本HTTP身份验证进行请求

// Execute a request with HTTP basic authentication.
$request = new Request('http://www.example.com/secure-page');
$request->setBasicAuthCredentials('username', 'password');
$request->execute();

其他选项包括启用或禁用SSL、使用cookie以及设置cURL超时值

// Enable Cookies.
$request->enableCookies($cookie_file_path);
// Enable SSL/TLS.
$request->enableSSL();
// Set the user agent string.
$request->userAgent = 'User agent string here.';
// Set the initial connection timeout (default is 10 seconds).
$request->connectTimeout = 5;
// Set the timeout (default is 15 seconds).
$request->timeout = 10;
// Send some fields as a POST request.
$request->setRequestType('POST');
$request->setPostFields($field_array);

有关更多详细信息,请参阅请求类变量定义和方法。

为什么选择Request?

我以前使用过其他PHP HTTP请求库,但经常退回到直接使用cURL,因为我使用的库对于我的需求来说过于复杂。这个库旨在成为一个非常简单且易于使用的cURL包装器,对于熟悉PHP中cURL使用的任何人来说都应该是容易上手的。

其他推荐的PHP HTTP库包括

许可证

Request遵循MIT (Expat)许可证。请参阅包含的LICENSE.md文件。