CURL viết tắt của PHP là gì?
Show
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, thì 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________9____10__________
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 hàm 241 để khởi tạo một 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 chức năng 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 hàm 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 6 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 curl_setopt($curl, CURLOPT_URL, $url); 34 35 36 37 38 39
641 42
9Trong 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 hàm 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 1
2 23 3 4 $curl = curl_init(); 5 6 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
854 31 32 curl_setopt($curl, CURLOPT_URL, $url); 34 35 36 61 38 63 39 65 41 42
669 curl_setopt($curl, CURLOPT_URL, $url);0
9Mặ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 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 6
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 curl_setopt($curl, CURLOPT_URL, $url); 42 35 69
29curl_setopt($curl, CURLOPT_URL, $url);0
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 một đố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ì đây 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
413
434
455
476
49
0
51
2
53
4
55
5
57
7
59
8
6131
6332
6534
67Sau 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
7652_______78________9____2_______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 ________0____90. Đố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 để tìm nạp 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
906
92
0
94
2
96
4
98
5200
7202
831 205 32
8134 209 Vì đây là một yêu cầu POST, nên chúng ta cần chuyể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 làm thế nào để 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 6
90
0
92
2225
4227
5229
7231
8233 31 202 32 211 34 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 cURL có nghĩa là gì?cURL, viết tắt của URL máy khách , là một công cụ dòng lệnh mà nhà phát triển sử dụng để truyền dữ liệu đến và từ máy chủ. Về cơ bản nhất, cURL cho phép bạn nói chuyện với máy chủ bằng cách chỉ định vị trí (ở dạng URL) và dữ liệu bạn muốn gửi.
Làm cách nào để sử dụng lệnh cURL trong PHP?curl_setopt($ch, option, value) đặt tùy chọn cho phiên cURL được xác định bởi tham số ch. Tùy chọn chỉ định tùy chọn nào sẽ được đặt và giá trị chỉ định giá trị cho tùy chọn đã cho. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) trả lại nội dung trang. Nếu đặt 0 thì sẽ không có đầu ra nào được trả về
cURL có nghĩa là gì trong API?cURL là công cụ dòng lệnh để nhận hoặc gửi tệp bằng cú pháp URL . Vì cURL sử dụng libcurl, nên nó hỗ trợ cùng một loạt các giao thức Internet phổ biến mà libcurl hỗ trợ. Hướng dẫn này sẽ hướng dẫn định dạng và cú pháp được sử dụng khi thực hiện các yêu cầu API Oracle Eloqua với cURL. |