PHP 고급 기능: HTTP 클라이언트 및 서버 전투

WBOY
풀어 주다: 2024-06-04 16:23:00
원래의
401명이 탐색했습니다.

PHP는 HTTP 요청 전송을 위한 HTTP 클라이언트 라이브러리(cURL, GuzzleHttp)를 제공하고 HTTP 서버(예: Swoole) 생성도 지원합니다. 실제적인 예로는 cURL을 사용하여 API에서 데이터를 얻는 것과 Swoole을 사용하여 양식 데이터를 처리하기 위한 사용자 정의 HTTP 서버를 만드는 것이 있습니다.

PHP 고급 기능: HTTP 클라이언트 및 서버 전투

PHP 고급 기능: HTTP 클라이언트 및 서버 실전 전투

HTTP 클라이언트

PHP에는 HTTP 요청을 생성하는 데 사용할 수 있는 cURL 및 GuzzleHttp와 같은 라이브러리가 내장되어 있습니다. GuzzleHttp를 사용하여 GET 요청을 보내는 방법은 다음과 같습니다.

use GuzzleHttp\Client;

$client = new Client();
$response = $client->get('https://example.com');

// 检索响应状态码
$statusCode = $response->getStatusCode();

// 检索响应正文
$body = $response->getBody()->getContents();
로그인 후 복사

HTTP 서버

PHP를 사용하면 HTTP 서버를 만들 수도 있습니다. 다음은 간단한 Swoole 기반 서버 예입니다.

use Swoole\Http\Server;

$server = new Server('0.0.0.0', 8811);
$server->on('request', function (Swoole\Http\Request $request, Swoole\Http\Response $response) {
    $response->header('Content-Type', 'text/plain');
    $response->end('Hello World!');
});

$server->start();
로그인 후 복사

실용 사례: API 요청

다음은 cURL을 사용하여 외부 API에서 데이터를 검색하는 실제 사례입니다.

<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.example.com/v1/users',
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response);

// 处理$data
?>
로그인 후 복사

실용 사례: 사용자 정의 HTTP 서버

다음은 간단한 양식 처리를 위해 Swoole을 사용하여 사용자 정의 HTTP 서버를 생성하는 실제 사례입니다.

<?php
use Swoole\Http\Server;
use Swoole\Http\Request;

$server = new Server('0.0.0.0', 8812);
$server->on('request', function (Request $request, Swoole\Http\Response $response) {
    // 处理POST数据
    $post = $request->post;

    // 根据要执行的操作创建响应
    if ($post['action'] === 'create') {
        // 处理创建操作
    } elseif ($post['action'] === 'update') {
        // 处理更新操作
    }

    // 发送响应
    $response->end('操作完成');
});

$server->start();
?>
로그인 후 복사

위 내용은 PHP 고급 기능: HTTP 클라이언트 및 서버 전투의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!