PHP发送Get和Post请求

1 file_get_content发送Get请求

public static function doGet($url, $params) {
    $opts = array('http' =>
        array(
            'method' => 'POST',
            'header' => array("User-Agent: xxxx", "Content-type: application/json; charset=utf-8"),
            'content' => json_encode($params)
        )
    );
    $context = stream_context_create($opts);
    return file_get_contents($url, false, $context);
}

2 通过curl发送Post请求

public function doPost($url, $params)
{
    $data = http_build_query($params);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_USERAGENT, 'xxxx');
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
//        curl_setopt($curl, CURLOPT_HTTPHEADER, [
//            "Content-type: application/json;charset=utf-8",
//            "Accept:application/json"
//        ]);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 60);
    $result = curl_exec($curl);
    if ($result === false) {
        $errstr = curl_error($curl);
        $errno = curl_errno($curl);
        $result = array(
            'code'=>500,
            'message'=>"[".$errno."]".$errstr
        );
    }
    curl_close($curl);
    return $result;
}

你可能感兴趣的:(#,PHP,php,get,php,post,php发送http请求)