PHP 优雅的发起 http 请求

复制代码
<?php
function sendPostRequest($url, $data) {
    // 初始化cURL
    $curl = curl_init();

    // 设置cURL选项
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    // 发起POST请求并获取响应
    $response = curl_exec($curl);

    // 检查请求是否成功
    if ($response === false) {
        // 处理请求失败的情况
        $error = curl_error($curl);
        curl_close($curl);
        return "Error: " . $error;
    }

    // 关闭cURL资源
    curl_close($curl);

    // 返回响应
    return $response;
}

// 示例用法
$url = 'http://example.com/api';
$data = array(
    'param1' => 'value1',
    'param2' => 'value2'
);
$response = sendPostRequest($url, $data);

// 打印响应
echo $response;
?>
复制代码
复制代码
<?php
function sendPostRequest($url, $data) {
    // 构建HTTP头信息
    $options = array(
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => http_build_query($data)
        )
    );

    // 创建上下文流
    $context = stream_context_create($options);

    // 发起POST请求并获取响应
    $response = file_get_contents($url, false, $context);

    // 返回响应
    return $response;
}

// 示例用法
$url = 'http://example.com/api';
$data = array(
    'param1' => 'value1',
    'param2' => 'value2'
);
$response = sendPostRequest($url, $data);

// 打印响应
echo $response;
?>
复制代码
复制代码
<?php
function sendGetRequest($url, $params) {
  // 将参数附加到URL
  $url = $url . '?' . http_build_query($params);

  // 发起GET请求并获取响应
  $response = file_get_contents($url);

  // 返回响应
  return $response;
}

// 示例用法
$url = 'http://example.com/api';
$params = array(
  'param1' => 'value1',
  'param2' => 'value2'
);
$response = sendGetRequest($url, $params);

// 打印响应
echo $response;
?>
复制代码

 

posted @   xiondun  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示