search
HomeBackend DevelopmentPHP TutorialInstructions for using curl_init function in PHP_PHP Tutorial

Instructions for using curl_init function in PHP_PHP Tutorial

Jul 21, 2016 pm 03:33 PM
curlhttpphpurlcodeusefunctionexistcopyofillustrate

Copy code The code is as follows:

$ch = curl_init();
$c_url = 'http://www.baidu .com';
$c_url_data = "product_&type=".$type."";
curl_setopt($ch, CURLOPT_URL,$c_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $c_url_data);
echo $result = curl_exec($ch);
curl_close ($ch);
unset($ch);

Using Curl in PHP
Posted 09-14th, 2008 Attributed to PHP
Original (English) address: http://www.phpit.net /article/using-curl-php Copyright Statement: Attribution-Non-Commercial-No Derivatives 2.0
Abstract:
In this article, we mainly explain the knowledge of php_curl library and teach you how to better use php_curl .
Introduction
You may encounter this problem when writing PHP script code: How to get content from other sites? There are several solutions here; the simplest is to use the fopen() function in PHP, but the fopen function does not have enough parameters to use, such as when you want to build a "web crawler" and want to define the client description of the crawler (IE , firefox), obtain content through different request methods, such as POST, GET; etc. These requirements cannot be achieved with the fopen() function.
In order to solve the problem we raised above, we can use the PHP extension library-Curl. This extension library is usually included in the installation package by default. You can use it to obtain the content of other sites or do other things.
Note: These two pieces of code require the support of the php_curl extension library. Check phpinfo(). If curl support is enabled, it means the curl library is supported.
1. Enable curl library support for PHP under Windows:
Open php.ini and remove the ; sign before extension=php_curl.dll.
2. Enable curl library support for PHP under Linux:
When compiling PHP, add –with-curl after ./configure
In this article, let’s take a look at how to use the curl library. And look at its other uses, but next, we want to start with the most basic usage
Basic usage:
In the first step, we create a new curl session through the function curl_init(), the code is as follows:
// create a new curl resource
$ch = curl_init();
?>
We have successfully created a curl session. If we need to obtain the content of a URL, the next step is , pass a URL to the curl_setopt() function, code:
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
?>
After completing the previous step, the curl preparation work is completed. curl will obtain the content of the URL site and print it out. Code:
// grab URL and pass it to the browser
curl_exec($ch);
?>
Finally, close the current curl session
//close curl resource, and free up system resources
curl_close($ch);
?>
Let’s take a look at the completed example code:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);
// grab URL and pass it to the browser
curl_exec($ch);
// close curl resource, and free up system resources
curl_close($ch);
?>

We have just obtained the content of another site and automatically output it to the browser. Is there any other way? What about organizing the information it gets and then controlling what it outputs? There is no problem at all. In the parameters of the curl_setopt() function, if you want to get the content but not output it, use the CURLOPT_RETURNTRANSFER parameter and set it to a non-0 value/true!. For the complete code, please see:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL, and return output
$output = curl_exec($ch);
// close curl resource, and free up system resources
curl_close($ch);
// Replace 'Google' with 'PHPit'
$ output = str_replace('Google', 'PHPit', $output);
// Print output
echo $output;
?>

In the above two examples, you may have noticed that by setting different parameters of the function curl_setopt(), you can obtain different results. This is why curl is powerful. Let’s take a look at the meaning of these parameters.
CURL related options:
If you have read the curl_setopt() function in the PHP manual, you can notice that there is a long list of parameters below it. It is impossible for us to introduce them one by one. For more information, please check PHP manual, here only introduces some commonly used and some parameters.
The first interesting parameter is CURLOPT_FOLLOWLOCATION. When you set this parameter to true, curl will obtain the redirection path deeper based on any redirection command. For example: when you try to obtain a PHP page, Then there is a jump code in this PHP page, and curl will get the content from http://new_url instead of returning the jump code. The complete code is as follows:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
// grab URL, and print
curl_exec($ch);
?>

If Google sends a redirect request, the above example will redirect based on The URL continues to obtain content. The two options related to this parameter are CURLOPT_MAXREDIRS and CURLOPT_AUTOREFERER.
The parameter CURLOPT_MAXREDIRS option allows you to define the maximum number of jump requests. After this number, its content will no longer be obtained. If CURLOPT_AUTOREFERER is set to true, curl will automatically add the Referer header to each jump link. It may not be very important, but it is very useful in certain cases.
The next parameter introduced is CURLOPT_POST, this is a very useful feature as it allows you to do a POST request instead of a GET request, which essentially means you can submit
other forms of the page, No need to actually fill in the form. The following example shows what I mean:
Copy the code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,” http://projects/phpit/content/using%20curl%20php/demos/handle_form.php ”);
// Do a POST
$data = array('name' => 'Dennis', 'surname' => 'Pallett');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// grab URL, and print
curl_exec($ch);
?>
And the handle_form.php file:
echo 'Form variables I received:';
echo '';
print_r ($_POST);
echo '';
?>

As you can see, this makes it really easy to submit forms, which is a great way to test all your forms without having to fill them all the time.
The parameter CURLOPT_CONNECTTIMEOUT is usually used to set the time that curl tries to request a link. This is a very important option. If you set this time too short, it may cause the curl request to fail.
But if you set it for too long, maybe the PHP script will die. An option related to this parameter is CURLOPT_TIMEOUT, which is used to set the time required for curl to be allowed to execute. If you set this to a very small value, it may cause the downloaded pages to be incomplete because they take a while to download.
The last option is CURLOPT_USERAGENT, which allows you to customize the client name of the request, such as webspilder or IE6.0. The sample code is as follows:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch , CURLOPT_URL, “http://sc.jb51.net/”);
curl_setopt($ch, CURLOPT_USERAGENT, 'My custom web spider/0.1′);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// grab URL, and print
curl_exec($ch);
?>

Now that we have introduced the most interesting parameter, let’s do Introduce a curl_getinfo() function and see what it can do for us.
Get page information:
The function curl_getinfo() allows us to get various information about the receiving page. You can edit this information by setting the second parameter of the option. You can also pass it in the form of an array. Just like the following example:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www .google.com");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
/ / grab URL
$output = curl_exec($ch);
// Print info
echo '';
print_r (curl_getinfo($ch));
echo '';
?>

Most of the information returned is the request itself, such as: the time spent on this request, the header file information returned, and of course some page information, such as the size of the page content. The time of last modification.
That was all about the curl_getinfo() function, now let’s see what it’s actually used for.
Actual use:
The first use of the curl library is to check whether a URL page exists. We can judge by looking at the code returned by the URL request. For example, 404 means that the page does not exist. Let's look at some examples:
Copy code The code is as follows:

// create a new curl resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/does/not/exist”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
// grab URL
$output = curl_exec($ch);
// Get response code
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// Not found ?
if ($response_code == '404′) {
echo 'Page doesn't exist';
} else {
echo $output;
}
?>

Other users may create an automatic checker that verifies the existence of each requested page.
We can use the curl library to write a web spider similar to Google, or other web spiders. This article is not about how to write a web spider, so we do not talk about any details about web spiders, but in the future we will introduce using curl to construct a web spider in PHPit.
Conclusion:
Here In this article I have shown how to use the curl library in PHP and most of its options.
For the most basic tasks, just getting a web page, you probably won't need the CURL library, however, once you want to do anything slightly more advanced, you may want to use the curl library.
In the near future, I will tell you exactly how to build your own web spider, similar to Google's web spider, so stay tuned, with phpit.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322663.htmlTechArticleCopy the code as follows: $ch = curl_init(); $c_url = 'http://www.baidu. com'; $c_url_data = "product_ curl_setopt($ch, CURLOPT_URL,$c_url); curl_setopt($ch, CURLOPT_POST, 1); curl...
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
PHP's Purpose: Building Dynamic WebsitesPHP's Purpose: Building Dynamic WebsitesApr 15, 2025 am 12:18 AM

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP: Handling Databases and Server-Side LogicPHP: Handling Databases and Server-Side LogicApr 15, 2025 am 12:15 AM

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

How do you prevent SQL Injection in PHP? (Prepared statements, PDO)How do you prevent SQL Injection in PHP? (Prepared statements, PDO)Apr 15, 2025 am 12:15 AM

Using preprocessing statements and PDO in PHP can effectively prevent SQL injection attacks. 1) Use PDO to connect to the database and set the error mode. 2) Create preprocessing statements through the prepare method and pass data using placeholders and execute methods. 3) Process query results and ensure the security and performance of the code.

PHP and Python: Code Examples and ComparisonPHP and Python: Code Examples and ComparisonApr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP in Action: Real-World Examples and ApplicationsPHP in Action: Real-World Examples and ApplicationsApr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: Creating Interactive Web Content with EasePHP: Creating Interactive Web Content with EaseApr 14, 2025 am 12:15 AM

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python: Comparing Two Popular Programming LanguagesPHP and Python: Comparing Two Popular Programming LanguagesApr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

The Enduring Relevance of PHP: Is It Still Alive?The Enduring Relevance of PHP: Is It Still Alive?Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool