使用 cURL 执行 HTTP 请求:
cURL(Client URL)是一个用于传输数据的库和工具,支持各种协议,包括 HTTP、HTTPS、FTP 等。PHP 提供了 cURL 扩展,允许通过代码执行 HTTP 请求。
1. 基本 GET 请求:
$url = "https://example.com/api/data";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
2. 带参数的 GET 请求:
$url = "https://example.com/api/data";
$params = array('param1' => 'value1', 'param2' => 'value2');
$url .= '?' . http_build_query($params);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
3. POST 请求:
$url = "https://example.com/api/post";
$data = array('param1' => 'value1', 'param2' => 'value2');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
使用 file_get_contents() 和 stream_context_create() 执行 HTTP 请求:
file_get_contents() 函数可以用于简单的 HTTP GET 请求,而 stream_context_create() 函数允许你创建一个流上下文,以便在 HTTP 请求中指定额外的选项。
1. 基本 GET 请求:
$url = "https://example.com/api/data";
$response = file_get_contents($url);
echo $response;
2. 带参数的 GET 请求:
$url = "https://example.com/api/data";
$params = array('param1' => 'value1', 'param2' => 'value2');
$url .= '?' . http_build_query($params);
$context = stream_context_create(array(
'http' => array(
'method' => 'GET',
),
));
$response = file_get_contents($url, false, $context);
echo $response;
3. POST 请求:
$url = "https://example.com/api/post";
$data = array('param1' => 'value1', 'param2' => 'value2');
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;
以上是一些常用的 PHP HTTP 请求相关的方法,具体选择取决于项目的需求和复杂性。请注意,对于更复杂的 HTTP 请求和处理,你可能需要使用专门的 HTTP 请求库,例如 Guzzle。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3652/PHP