Ciri lanjutan PHP: Pelanggan HTTP dan pertempuran pelayan

WBOY
Lepaskan: 2024-06-04 16:23:00
asal
410 orang telah melayarinya

PHP menyediakan perpustakaan klien HTTP (cURL, GuzzleHttp) untuk menghantar permintaan HTTP, dan juga menyokong penciptaan pelayan HTTP (seperti Swoole). Contoh praktikal termasuk menggunakan cURL untuk mendapatkan data daripada API dan menggunakan Swoole untuk mencipta pelayan HTTP tersuai untuk memproses data borang.

Ciri lanjutan PHP: Pelanggan HTTP dan pertempuran pelayan

Ciri Lanjutan PHP: Pertempuran Praktikal Pelanggan dan Pelayan HTTP

Klien HTTP

PHP mempunyai perpustakaan terbina dalam seperti cURL dan GuzzleHttp, yang boleh digunakan untuk permintaan HTTP. Begini cara menghantar permintaan GET menggunakan GuzzleHttp:

use GuzzleHttp\Client;

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

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

// 检索响应正文
$body = $response->getBody()->getContents();
Salin selepas log masuk

Pelayan HTTP

PHP juga membolehkan anda mencipta pelayan HTTP. Berikut ialah contoh pelayan berasaskan Swoole yang mudah:

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();
Salin selepas log masuk

Kes praktikal: Permintaan API

Berikut ialah kes praktikal menggunakan cURL untuk mendapatkan data daripada API luaran:

<?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
?>
Salin selepas log masuk

Kes praktikal: Pelayan HTTP tersuai

Berikut ialah kes praktikal menggunakan Swoole untuk mencipta pelayan HTTP tersuai untuk pemprosesan borang mudah:

<?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();
?>
Salin selepas log masuk

Atas ialah kandungan terperinci Ciri lanjutan PHP: Pelanggan HTTP dan pertempuran pelayan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!