Home  >  Article  >  Backend Development  >  How to use CURL to implement GET and POST requests in PHP

How to use CURL to implement GET and POST requests in PHP

大家讲道理
大家讲道理Original
2016-11-07 16:57:101000browse

1. Introduction to CURL

CURL is a tool that uses URL syntax to transfer files and data. It supports many protocols, such as HTTP, FTP, TELNET, etc.

Luckily PHP also supports the CURL library. This article will introduce some advanced features of curl and how to use it in PHP.

2. Basic structure

Before learning more complex functions, let’s take a look at the basic steps to establish a CURL request in PHP:

(1) Initialize curl_init()

(2) Set the variable curl_setopt() //The most important thing is that all mysteries are here. There is a long list of curl parameters that can be set, which can specify various details of the URL request. It can be difficult to read and understand them all at once, so today we will only try the more common and useful options.

(3) Execute and get the result curl_exec()

(4) Release the curl handle curl_close()

3.CURL implements Get and Post

1), Get method implementation

//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, curlOPT_URL, "http://www.eer3.com");
curl_setopt($ch, curlOPT_RETURNTRANSFER, 1);
curl_setopt($ch, curlOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);

2), Post method implementation

$url = "http://localhost/web_services.php";
$post_data = array ("username" => "uname","key" => "123456");
$ch = curl_init();
curl_setopt($ch, curlOPT_URL, $url);
curl_setopt($ch, curlOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, curlOPT_POST, 1);
// post的变量
curl_setopt($ch, curlOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);

The data obtained in the above method is in json format and is interpreted into an array using the json_decode function.

$output_array = json_decode($output,true);

If you use json_decode($output) to parse, you will get object type data.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn