Lista de Classes
- App\Middleware\Cors
- App\Middleware\Auth
- App\Middleware\Env
- AppMin
- Application
- Route
- Data\Database
- Data\Db2Database
- Data\OdbcDatabase
- Data\Validator
- Data\KeyValue\SqliteStorage
- Data\Log\FileLogger
- Data\Log\HtmlLogger
- Encoding\Base64Url
- Encoding\Json
- Encoding\Utf8
- Environment\DotEnv
- Environment\System
- FileSystem\Search
- FileSystem\Security
- FileSystem\Sync
- Lang\I18N
- Lang\L10N
- Lang\Time
- Media\Image
- Net\Config
- Net\Email
- Net\HttpClient
- Net\HttpResponse
- Net\IP
- Net\SmtpClient
- Security\Crypto
- Security\Password
- Security\Crypto\Encryption
- Security\Crypto\FileEncryption
- Security\Crypto\JWT
- Security\Crypto\PublicKey
- Security\Crypto\Random
- Security\Crypto\SignedData
- Security\Web\CsrfSession
- Security\Web\CsrfStateless
- Security\Web\RateLimit
- Web\Request
- Web\Response
FastSitePHP\Net\HttpResponse
This class is returned from HTTP Request functions when using the [HttpClient] class.
Código Fonte
Código de Exemplo
Utilizando o Cliente HTTP
// HttpClient pode ser utilizado para simplificar a comunicação com
// outros serviços web, APIs HTTP e funciona muito bem para chamar
// e retornar o resultado de serviços locais - por exemplo um serviço
// AI/ML (Artificial Intelligence / Machine Learning) escrito em
// Python com TensorFlow ou scikit-learn.
// Faça um requisição HTTP GET simples e verifique o resultado
$res = \FastSitePHP\Net\HttpClient::get($url);
if ($res->error) {
// Um erro seria retornado em uma eventual falha grave como tempo limite
// atingido ou um erro de certificado SSL. Uma resposta 404 ou 500 do
// servidor seria tratada verificando o [status_code].
$error = $res->error;
} else {
$status_code = $res->status_code; // 200, 404, 500 etc
$headers = $res->headers; // Array de Cabeçalhos de Resposta
$content = $res->content; // Conteúdo da Resposta como uma String - HTML, Texto etc
$info = $res->info; // Array de Informações como Estatísticas de Tempo
}
// Realize uma Requisição HTTP GET e leia o Resultado JSON. Se o Content-Type
// da Resposta for 'application/json' então [$res->json] conterá um array
// caso contrário, conterá null. Cabeçalhos de Requisição podem receber um
// parâmetro opcional.
$headers = [
'X-API-Key' => 'ab82050cf5907934fa1d0f6f66284642a01d1ba2280656870c',
'X-Custom-Header' => 'Teste',
];
$res_json = \FastSitePHP\Net\HttpClient::get($url, $headers);
$json = $res->json;
$text = $res->content;
// Envie uma Requisição HTTP POST como JSON e também como um Form.
// Dados podem ser um Array ou um Objeto e Cabeçalhos são opcionais.
$data = [
'text' => 'teste',
'num' => 123,
];
$res_post = \FastSitePHP\Net\HttpClient::postJson($url, $data, $headers);
$res_form = \FastSitePHP\Net\HttpClient::postForm($url, $data);
// Ao utilizar PHP 5.5 ou mais recente, 'multipart/form-data' Form Posts são
// suportados com a classe integrada [CURLFile]:
/*
$data = [
'field1' => 'teste',
'file' => new \CURLFile($file_path),
];
*/
// Salve o Conteúdo da Resposta como um Download de Arquivo
// Assim como [postJson ()] e [postForm ()] Request Headers são opcionais.
$res_file = \FastSitePHP\Net\HttpClient::downloadFile($url, $save_path, $headers);
$saved_path = $res_file->content;
// O código de demonstração acima mostra as quatro funções estáticas
// auxiliares [get(), postJson(), postForm() e downloadFile()]. Opções
// adicionais estão disponíveis quando utilizar a HttpClient como um
// objeto com o mesmo método [request()].
// Envie uma Requisição PUT com um arquivo como o Corpo de Requisição
$http = new \FastSitePHP\Net\HttpClient();
$res_put = $http->request($url, [
'method' => 'PUT',
'headers' => $headers,
'send_file' => $file_path,
]);
Propriedades
Nome | Tipo de Dados | Padrão | Descrição |
---|---|---|---|
error | int | 0 | Error code if there is a major failure with an HTTP Request such as a timeout or SSL Cert Error. 0 if no error. The error code is the value returned by [curl_errno()]. |
status_code | int null |
null | Status Code of the Response [200, 404, 500, etc]. |
headers | array null |
null | HTTP Response Headers |
content | string null |
null | Response Body as a Text String. PHP Strings are array's of bytes so binary responses will also be in string format. |
json | array null |
null | Response Body parsed to an Array for JSON Responses. This can be turned off by setting the option [parse_json = false] from [HttpClient->request()]. |
info | array null |
null | Array of detailed information for the request and response from [curl_getinfo()]. Example ($res->info['CURLINFO_TOTAL_TIME']) if set will return the total transaction time in seconds. |