Php có cURL không?
Có một số hiểu lầm về định nghĩa khi các nhà phát triển nói cUrl trong PHP hoặc libcurl trong PHP. Nhưng hầu hết thời gian, chúng có nghĩa là PHP/CURL Show
Trong hướng dẫn này, trước tiên chúng ta sẽ tìm hiểu cUrl, libcurl và PHP/CURL là gì, vì chúng ta muốn mọi người biết sự khác biệt trong ba khái niệm này. Sau đó, chúng tôi sẽ chuyển sang sử dụng hoàn thành tác vụ bằng PHP/cURL Nhiệm vụ chúng ta sẽ hoàn thành ở phần cuối của hướng dẫn này là tìm nạp nội dung của một trang google bằng cách chuyển cụm từ tìm kiếm "curl". Và chúng tôi cũng sẽ cung cấp một số tài liệu tham khảo về cách bạn có thể mở rộng hướng dẫn này để tiến xa hơn #Giới thiệuTrước tiên hãy cho chúng tôi hiểu các khái niệm về curl, libcurl và PHP/cURL
Bây giờ bạn có một ý tưởng về các điều khoản khác nhau. Đối với "PHP/cURL", hầu hết các nhà phát triển cũng gọi nó là "curl in PHP", "curl with PHP", v.v. Trong hướng dẫn này, chúng tôi sẽ gọi nó là "curl trong PHP" theo thuật ngữ phổ biến. Mục tiêu của nhiệm vụ trong hướng dẫn này là sử dụng curl trong PHP để lấy dữ liệu từ Google và cụm từ tìm kiếm sẽ được gửi tới Google là "curl". Hãy để chúng tôi bắt đầu nhiệm vụ #hoàn thành mục tiêuĐể sử dụng curl trong PHP rất đơn giản. Ý tưởng cơ bản của việc sử dụng curl trong PHP là
Để hoàn thành mục tiêu của chúng tôi, mã đơn giản như
#HơnRõ ràng là có nhiều tác vụ hơn bạn có thể thực hiện với curl trong PHP, hướng dẫn này gần như là cách đơn giản nhất để sử dụng nó. Tuy nhiên, bạn có thể mở rộng nó để thực hiện nhiều tác vụ hơn như xác thực tài khoản được bảo vệ bằng mật khẩu và tìm nạp dữ liệu từ đó. Các khu vực bạn có thể cần xem xét thêm để thực hiện các tác vụ nâng cao hơn được liệt kê bên dưới
#Kết thúcCảm ơn bạn đã đọc bài viết này và nếu bạn gặp bất kỳ điều gì khác biệt, có giải pháp khác hoặc nghĩ rằng giải pháp của chúng tôi sai, hãy cho chúng tôi biết trong phần bình luận. Chúng tôi sẽ rất vui khi nghe điều đó Nếu bạn thích hướng dẫn của chúng tôi, vui lòng theo dõi chúng tôi trên Twitter và giúp quảng bá. Chúng tôi cần sự hỗ trợ của bạn để tiếp tục Hôm nay, chúng ta sẽ khám phá tiện ích mở rộng cURL trong PHP, cho phép bạn thực hiện các yêu cầu HTTP từ mã của mình Thường thì bạn cần giao tiếp với các trang web bên ngoài trong quá trình phát triển PHP hàng ngày của mình. Cho dù đó là gọi API REST của bên thứ ba để tìm nạp dữ liệu hay tải xuống tài nguyên từ một trang web bên ngoài, bạn đều muốn có một thư viện cho phép bạn thực hiện điều đó một cách dễ dàng Trong PHP, có nhiều phương thức khác nhau mà bạn có thể sử dụng để kết nối và giao tiếp với các loại máy chủ khác nhau. Một trong những cách dễ nhất là sử dụng hàm 240 để đọc các tệp từ xa. Mặt khác, bạn cũng có thể sử dụng socket để thực hiện giao tiếp client-server. Tuy nhiên, trong bài viết này, chúng ta sẽ thảo luận chi tiết về tiện ích mở rộng cURL, với các ví dụ thực tế cURL là viết tắt của client URLs và đó là một thư viện cho phép bạn gửi và nhận thông tin bằng cú pháp URL. Trên thực tế, nó tận dụng thư viện libcurl do Daniel Stenberg tạo ra, cho phép bạn kết nối và giao tiếp với nhiều loại máy chủ khác nhau với nhiều loại giao thức khác nhau. Ngoài HTTP và HTTPS, thư viện libcurl còn hỗ trợ các giao thức như FTP, Gopher, Telnet, DICT, File và LDAP Từ phần tiếp theo trở đi, chúng ta sẽ đi qua một số ví dụ thực tế để chứng minh cách bạn có thể sử dụng các hàm cURL trong PHP Ví dụ trong thế giới thựcTrong phần này, chúng ta sẽ xây dựng các ví dụ thực tế để minh họa các hàm cURL khác nhau trong PHP Cách tải xuống tệp bằng cURL trong PHPĐọc hoặc tải xuống các tệp từ xa là một trong những trường hợp sử dụng phổ biến nhất cho cURL. Điều này được thực hiện bằng một yêu cầu GET cURL, mà chúng ta sẽ thảo luận trong phần này Hãy tiếp tục và tạo curl_read_file. tệp php với nội dung sau 1
2 $url = 'https://www.example.com'; 3 4 $curl = curl_init(); 5 20 21
0
1
2
3
4
5
6
7
8
9Trong ví dụ trên, chúng tôi đã sử dụng các hàm cURL để đọc trang chủ của ví dụ. tên miền com. Hãy xem qua các đoạn quan trọng để hiểu cách thức hoạt động của nó Đầu tiên, chúng tôi đã sử dụng chức năng 241 để khởi tạo phiên cURL mới. Biến 242 giữ một điều khiển cURL, mà chúng ta có thể sử dụng để đặt các tùy chọn khác nhau để truyền cURL với sự trợ giúp của hàm 243 Khi bạn đang làm việc với cURL, hàm 243 là hàm mà bạn sẽ xử lý nhiều nhất, vì nó cho phép bạn khởi tạo các tùy chọn yêu cầu 245 khác nhau. Hàm 243 nhận ba đối số. một điều khiển cURL, tùy chọn 247 và giá trị của tùy chọn 247 Tiếp theo, chúng tôi đã sử dụng tùy chọn 249 để đặt URL yêu cầu thành 250 với hàm 243. Hơn nữa, chúng tôi đã đặt tùy chọn 252 thành 253 vì chúng tôi muốn khởi tạo phản hồi thành biến 254. Nếu chúng tôi không đặt nó thành 253, phản hồi sẽ được hiển thị trực tiếp trên màn hình. Cuối cùng, chúng tôi đã đặt tùy chọn 256 thành 257 để bỏ qua thông tin tiêu đề trong đầu ra Cuối cùng, chúng tôi đã sử dụng chức năng 258 để thực hiện yêu cầu cURL. Nếu mọi thứ suôn sẻ, biến 254 sẽ chứa nguồn trang chủ của 250 Cách đăng dữ liệu bằng cURL trong PHPTrong phần này, chúng ta sẽ xem cách đăng dữ liệu bằng cURL Hãy tạo curl_post_example. tệp php với nội dung sau 1
2 23 3 4 $curl = curl_init(); 5 20 29
0$url = 'https://www.example.com';1
2$url = 'https://www.example.com';3
4$url = 'https://www.example.com';5
5$url = 'https://www.example.com';7
7
830 31 32 21 34 35 36 37 38 39_____36 41 42 Trong ví dụ trên, chúng tôi giả sử rằng chúng tôi cần gửi yêu cầu bằng phương thức HTTP POST. Trên thực tế, nó hoạt động tương tự như việc gửi biểu mẫu bằng phương thức POST Biến 261 chứa một mảng các giá trị mà chúng ta cần gửi dưới dạng dữ liệu POST. Tiếp theo, chúng tôi đã sử dụng hàm 262 để chuẩn bị chuỗi truy vấn được mã hóa URL Tiếp theo, chúng tôi đã đặt tùy chọn 263 thành 253 để đặt phương thức yêu cầu thành HTTP POST. Hơn nữa, chúng tôi cần sử dụng tùy chọn 265 để đặt dữ liệu POST mà chúng tôi muốn gửi cùng với yêu cầu Cuối cùng, chúng tôi đã sử dụng chức năng 258 để thực hiện yêu cầu cURL. Vì vậy, theo cách này, bạn có thể thực hiện một yêu cầu POST cURL Cách đăng dữ liệu JSON bằng cURL trong PHPThường xuyên hơn không, bạn cần gửi dữ liệu JSON trong yêu cầu POST cURL. Trong phần này, chúng ta sẽ xem cách bạn có thể gửi dữ liệu JSON bằng phương thức POST trong yêu cầu cURL Vì đó là một yêu cầu POST, hãy sửa lại ví dụ mà chúng ta vừa thảo luận trong phần trước. Hãy tiếp tục và tạo curl_post_json. tệp php với nội dung sau E Mặc dù nó có vẻ giống với ví dụ trong phần trước, nhưng điều quan trọng là chúng ta đã sử dụng hàm 267 để tạo một chuỗi JSON từ mảng 261 Tiếp theo, chúng tôi đã sử dụng tùy chọn 269 để đặt tiêu đề 270 thành 271 để thông báo cho máy chủ API rằng chúng tôi đang gửi dữ liệu JSON. Tiêu đề 270 rất hữu ích để đăng dữ liệu ở các định dạng khác nhau. Ví dụ: nếu bạn muốn gửi dữ liệu XML, bạn sẽ phải đặt tiêu đề 270 thành 274 Ngoại trừ điều đó, nó khá giống với yêu cầu POST thông thường. Vì vậy, theo cách này, bạn có thể đăng các loại dữ liệu khác nhau bằng cách đặt tiêu đề 270 phù hợp. Nếu bạn không đặt tiêu đề 270, nó sẽ sử dụng 277 làm giá trị mặc định Cách tải tệp lên bằng cURL trong PHPTrong phần này, chúng tôi sẽ thảo luận về cách bạn có thể tải tệp lên bằng cURL Hãy tạo curl_post_file. tệp php với nội dung sau 1
2 23 3 4 $curl = curl_init(); 5 20
01
0
03
2
05
4
07
5
09
7
829 31 $url = 'https://www.example.com';1 32 $url = 'https://www.example.com';3 34
1836
2038 $url = 'https://www.example.com';7 39 41 21 42 35 209
29210
31
32
33
6
35
36
9Khi bạn muốn tải lên một tệp, bạn cần tạo một đối tượng 278 ngay từ đầu. Kể từ PHP 5. 5+, việc tạo nó khá dễ dàng vì bạn chỉ cần sử dụng hàm 279 để tạo đối tượng 278. Đối số đầu tiên của hàm 279 là đường dẫn tuyệt đối của tệp mà bạn muốn tải lên Nếu bạn vẫn đang sử dụng phiên bản PHP cũ hơn, phiên bản này không được khuyến nghị, thì chúng tôi đã sử dụng cú pháp dự phòng 282 để tạo liên kết tệp Cuối cùng, chúng tôi đã đặt tiêu đề 270 thành 284 vì nó sẽ là một yêu cầu POST dạng nhiều phần. Ngoài ra, đó là một yêu cầu POST cURL thông thường Cho đến nay, chúng ta đã trải qua một số phương thức cURL khác nhau thường được sử dụng trong PHP. Trong phần tiếp theo, chúng ta sẽ xem cách bạn có thể sử dụng thư viện Guzzle, thư viện này giúp bạn xử lý các yêu cầu HTTP trong PHP dễ dàng hơn Ứng dụng khách HTTP Guzzle là gì?Theo tài liệu chính thức
Hãy nhanh chóng tìm hiểu những lợi ích của việc sử dụng Guzzle trên các hàm cURL PHP
Nói chung, đây là một trong những thư viện tốt nhất để sử dụng khi bạn muốn thực hiện lệnh gọi HTTP bằng các phương thức khác nhau. Trong phần này, chúng ta sẽ thảo luận về cách cài đặt Guzzle, tiếp theo là một vài ví dụ nhanh để chứng minh sức mạnh của thư viện này Cách cài đặt thư viện GuzzleTài liệu chính thức khuyên bạn nên sử dụng Composer để cài đặt Guzzle. Hãy chạy lệnh sau để cài đặt Guzzle trong dự án của bạn 1
392_______341 3
434
455
4720
49
0
51
2
53
4
55
5
57
7
59
8
6131
6332
65_____67___64Sau khi được cài đặt, bạn cần yêu cầu trình tải tự động của Composer, như được hiển thị trong đoạn mã sau 1
69Và với điều đó, bạn đã sẵn sàng sử dụng Guzzle Cách thực hiện yêu cầu GET với GuzzleTrong phần này, chúng ta sẽ xem cách bạn có thể gửi yêu cầu GET bằng Guzzle Chúng tôi sẽ sửa lại ví dụ mà chúng tôi đã thảo luận trước đó, vì nó sẽ giúp bạn hiểu cách bạn có thể chuyển đổi mã PHP cURL hiện tại của mình sang triển khai dựa trên Guzzle Chúng ta hãy xem ví dụ sửa đổi 1
2
693 4
765
7820
0
81Nó không đơn giản sao? . Và bây giờ, bạn có quyền truy cập vào rất nhiều phương thức tiện ích được cung cấp bởi lớp 285 Trong trường hợp của chúng tôi, chúng tôi cần tìm nạp nội dung bằng phương thức GET, vì vậy chúng tôi đã sử dụng phương thức 288 của lớp 285 và nó sẽ trả về đối tượng 290. Đối tượng 290 cung cấp nhiều phương thức khác nhau như 292, 293, 294, v.v. Chúng tôi đã sử dụng phương thức 293 để lấy nội dung phần thân phản hồi Vì vậy, đó là cách bạn có thể thực hiện các yêu cầu HTTP GET với Guzzle Cách thực hiện một yêu cầu POST với GuzzleTrong phần này, chúng ta sẽ xem cách bạn có thể thực hiện các yêu cầu HTTP POST với Guzzle Chúng tôi sẽ sửa lại curl_post_example. php, mà chúng ta đã thảo luận trong phần trước. Mã sửa đổi với Guzzle trông như thế này 1
2
693 4
765
9020
92
0
94
2
96
4
98
5200
7202
831 205 32
8134___109 Vì đây là một yêu cầu POST nên chúng ta cần truyền mảng 296 làm đối số thứ hai của phương thức 297. Trong ví dụ của chúng tôi, nó chứa dữ liệu biểu mẫu mà chúng tôi cần gửi dưới dạng dữ liệu POST Nếu bạn đang thắc mắc cách gửi dữ liệu JSON, bạn chỉ cần thay đổi khóa 298 thành 299 và dữ liệu sẽ được gửi dưới dạng JSON Ngoài ra, nếu bạn muốn gửi bất kỳ tiêu đề HTTP nào cùng với yêu cầu, bạn có thể thực hiện việc đó bằng khóa $url = 'https://www.example.com';00, như minh họa trong đoạn mã sau 1 211 2 211 3 215 4 217 5 $url = 'https://www.example.com';7 20
90
0
92
2225
4227
5229
7231
8233 31 202 32 211 211 Trên thực tế, thư viện Guzzle cung cấp rất nhiều tùy chọn cấu hình cho mọi phương thức. Ngoài ra, có nhiều cách để làm điều tương tự, vì vậy tôi khuyến khích bạn khám phá nó một cách chi tiết và tôi chắc chắn rằng nó sẽ rất thú vị Vì vậy, đó là phần giới thiệu nhanh về thư viện Guzzle, cùng với các hàm PHP cURL Phần kết luậnHôm nay, chúng ta đã khám phá những kiến thức cơ bản về tiện ích mở rộng cURL trong PHP. Chúng tôi đã thảo luận về cách bạn có thể thực hiện các loại yêu cầu HTTP khác nhau bằng cURL trong PHP. Ngoài ra, chúng tôi đã giới thiệu nhanh về thư viện Guzzle, thư viện này giúp các nhà phát triển dễ dàng hơn khi xử lý các yêu cầu HTTP trong PHP Làm cách nào để chạy curl trong PHP?Điều này được thực hiện bằng cách đặt tùy chọn cuộn tròn curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Làm cách nào để cài đặt cuộn tròn PHP?Sau đây là các bước cài đặt PHP-CURL trên hệ thống Ubuntu của bạn. . Bước 1. Cài đặt thư viện PHP cho máy chủ bằng cách chạy lệnh sau. $ Sudo add-apt-kho lưu trữ ppa. ondrej/php Bước 2. Sau đó, cập nhật máy chủ. $ cập nhật apt sudo Bước 3. Bây giờ, hãy cài đặt CURL Làm cách nào để kiểm tra độ cong trong PHP?Ví dụ cuộn tròn trong PHP
. //www. plus2net. com/php_tutorial/curl-test. php?str=$str"); curl_setopt($my_curl, CURLOPT_RETURNTRANSFER, 1); $return_str = curl_exec($my_curl); curl_close($my_curl); echo $return_str; ?>
curl viết tắt của PHP là gì?cURL là viết tắt của URL khách hàng và là một công cụ được sử dụng trong PHP để lấy dữ liệu từ các URL được cung cấp cho khách hàng sử dụng. |