Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Permintaan POST dan Dapatkan Respons dalam PHP Tanpa CURL?

Bagaimana untuk Menghantar Permintaan POST dan Dapatkan Respons dalam PHP Tanpa CURL?

DDD
DDDasal
2024-12-29 01:55:09671semak imbas

How to Send POST Requests and Retrieve Responses in PHP Without cURL?

Menghantar Permintaan POST dengan PHP

Apabila menghadapi titik akhir yang hanya menerima kaedah POST, ia boleh menjadi mencabar untuk mengakses dan membaca kandungan yang terhasil. Artikel ini meneroka kaedah praktikal untuk menghantar permintaan POST dan mendapatkan semula respons pelayan menggunakan PHP.

Kaedah CURL-less:

Untuk senario di mana CURL bukan pilihan yang berdaya maju , penyelesaian berikut menggunakan fungsi file_get_contents() asli PHP menyediakan alternatif:

$url = 'http://server.com/path';
$data = ['key1' => 'value1', 'key2' => 'value2'];

// Specify HTTP method and headers
$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data),
    ],
];

// Create stream context with POST data
$context = stream_context_create($options);

// Send POST request and retrieve response
$result = file_get_contents($url, false, $context);
if ($result === false) {
    // Handle error
}

var_dump($result);

Pendekatan ini membina konteks strim HTTP menggunakan pilihan yang disediakan dan menghantar permintaan POST ke URL yang ditentukan. Respons pelayan kemudiannya disimpan dalam pembolehubah $result, memberikan akses kepada kandungannya untuk pemprosesan selanjutnya menggunakan kaedah seperti DOMDocument atau file_get_contents().

Untuk maklumat tambahan tentang penciptaan dan penyesuaian konteks strim, rujuk manual PHP :

  • strim_konteks_cipta: https://www.php.net/manual/en/function.stream-context-create.php

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Permintaan POST dan Dapatkan Respons dalam PHP Tanpa CURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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