PHP cURL là thư viện cho phép máy khách truy cập máy chủ từ xa thông qua URL. Nó gửi các yêu cầu HTTP đến điểm cuối từ một ứng dụng hoặc thành phần khác
Nó cho phép các lượt truy cập liên ứng dụng nhận được phản hồi qua mạng. Cơ chế này rất hữu ích để làm việc với các dịch vụ PHP RESTful, tương tác API, v.v.
Có nhiều trường hợp sử dụng trong đó bài đăng cURL PHP hoàn toàn phù hợp. Ví dụ,
- Trích xuất nội dung từ một trang web
- Chuẩn bị nguồn cấp dữ liệu từ các nguồn bên ngoài
- Các phương thức truy cập trực tiếp của API không có SDK
Ví dụ nhanh này cung cấp mã đơn giản để triển khai bài đăng cURL PHP
ví dụ nhanh
'Jane',
'dateOfBirth' => '1974-8-17'
];
$curlHandle = curl_init['//domain-name/endpoint-path'];
curl_setopt[$curlHandle, CURLOPT_POSTFIELDS, $postParameter];
curl_setopt[$curlHandle, CURLOPT_RETURNTRANSFER, true];
$curlResponse = curl_exec[$curlHandle];
curl_close[$curlHandle];
Ngoài ra, chúng ta sẽ xem thêm các ví dụ về trường hợp sử dụng của PHP cURL post request trong các phần sắp tới
Phần 1 – Khái niệm cơ bản về PHP cURL
Sau đây là các bước để thực hiện chu trình phản hồi yêu cầu cURL cơ bản của PHP
- Khởi tạo phiên cURL
- Đặt tùy chọn cURL
- thực hiện yêu cầu
- Đóng phiên
Làm cách nào để định cấu hình PHP cURL?
PHP chứa thư viện libcurl để tạo môi trường làm việc với cURL. Thư viện này sẽ được bật theo mặc định
Nếu không, hãy thực hiện các bước sau để bật mô-đun cURL PHP trong môi trường của bạn
- Mở tệp cấu hình PHP php. ban đầu
- Kiểm tra sự bắt đầu của 9
- Bỏ dấu chấm phẩy [;] ở đầu dòng trên
- Khởi động lại máy chủ Apache
Đặt yêu cầu POST cURL PHP – Phương pháp thay thế
Có nhiều cách để gửi thông số bài viết PHP cURL
- định dạng JSON
- Chuỗi truy vấn HTTP
- Định dạng mảng POST
định dạng JSON
Chuỗi truy vấn HTTP
PHP cURL POST định dạng mảng
0 có thể có một mảng PHP để truyền tham số cho điểm cuối"value1", "key2"=>"value2"];
?>
Đặt tùy chọn tiêu đề cURL
Để đặt tiêu đề PHP cURL, hằng số CURLOPT_HTTPHEADER được sử dụng. Tiêu đề cURL có thể có thêm thông tin. Các khóa sau đây là một số ví dụ để thêm các tùy chọn tiêu đề PHP cURL
- Mã hóa chấp nhận
- Kiểm soát bộ đệm
- Chủ nhà
- Loại nội dung
- Ngôn ngữ chấp nhận
- Đại lý người dùng
Chương trình này đặt các tùy chọn tiêu đề cURL để đặt loại nội dung. Cũng có các tùy chọn để gửi tiêu đề tùy chỉnh. Đó là gửi các cặp khóa-giá trị không chuẩn. Sử dụng tiền tố X- để gửi các tiêu đề không chuẩn. Thí dụ,
curl_setopt[$ch, CURLOPT_HTTPHEADER, array[
'X-key: value'
]];
Hằng số CURLOPT_HEADER được đặt với giá trị boolean true. Đó là để cho phép thông tin tiêu đề được đính kèm với phản hồi trả về
1 và 0 phải gửi các giá trị qua bài đăng PHP cURL0PHP cURL POST để tải tệp lên
Cũng có thể tải tệp lên máy chủ thông qua bài đăng PHP cURL. Đoạn mã dưới đây cho biết cách tải tệp hình ảnh lên máy chủ
Nó chuẩn bị đối tượng với dữ liệu tệp. Nó sử dụng hàm PHP curl_file_create[] để chuẩn bị nội dung bài đăng tệp
Bằng cách gửi gói ‘fileParam’ theo cách này, mã điểm cuối có thể truy cập nó qua mảng $_FILES[]
1Đặt mã điểm cuối sau vào máy chủ. Sau đó nhấn điểm cuối thông qua tập lệnh cURL ở trên. Yêu cầu bài đăng cuộn tròn PHP gửi đầu vào tệp đến điểm cuối này. Mã PHP này truy cập tệp đã tải lên từ mảng $_FILES
php-curl-post-file-endpoint. php
0Yêu cầu HTTP GET để lấy một trang web
Trong yêu cầu cURL, phương thức mặc định là GET. Chương trình này gọi máy chủ qua cURL với phương thức yêu cầu GET mặc định
Không giống như PHP cURL POST, nó gửi dữ liệu dưới dạng chuỗi truy vấn. Để truyền tham số cho yêu cầu GET, nó phải được xây dựng như một phần của URL
Nó lấy HTML của trang web được chỉ định làm điểm cuối cURL. Nó in phản hồi và hiển thị HTML của trang web mục tiêu trong trình duyệt
Trong bài viết này, chúng ta sẽ xem cách truyền Dữ liệu JSON trong một URL bằng CURL trong PHP, cùng với việc hiểu các cách khác nhau để truyền dữ liệu trong một URL thông qua hình minh họa. cURL là viết tắt của client URL, cho phép chúng tôi kết nối với các URL khác và sử dụng phản hồi của họ trong mã của chúng tôi, tôi. e. , nó là một công cụ để gửi và nhận tệp bằng cú pháp URL. cURL hỗ trợ cách có thể truy cập URL từ mã của chúng tôi để nhận phản hồi HTML từ đó. cURL cũng được sử dụng trong các dòng lệnh hoặc tập lệnh để truyền dữ liệu. Ở đây, chúng ta cần truyền dữ liệu JSON vào một URL bằng cách sử dụng cURL trong PHP và xử lý yêu cầu POST. Nhiệm vụ này có thể được thực hiện với sự trợ giúp của các cách sau
- cURL POST Yêu cầu
- cURL NHẬN Yêu cầu
- Yêu cầu PUT cURL
Chúng ta sẽ khám phá tất cả các cách tiếp cận trên và hiểu chúng thông qua các ví dụ
Cú pháp truyền dữ liệu JSON trong URL bằng cURL
3- Bằng cách sử dụng Yêu cầu POST của cURL
Cách tiếp cận yêu cầu POST
- Chúng tôi cần chỉ định URL, nơi dữ liệu JSON cần được gửi
- Sử dụng curl_init[], chúng tôi khởi tạo cURL
- Đặt dữ liệu JSON vào một mảng PHP và thiết lập dữ liệu JSON
- Và sử dụng json_encode[] mã hóa nó thành chuỗi JSON
- Đặt các tùy chọn cho cURL
- Đang tìm nạp $url bằng CURLOPT_URL
- Chuyển loại yêu cầu từ nhận sang đăng bằng CURLOPT_POST
- Bây giờ hãy đính kèm chuỗi được mã hóa vào trường bài đăng bằng CURLOPT_POSTFIELDS
- Đặt tùy chọn curl RETURNTRANSFER thành true để nó trả về phản hồi thay vì chỉ xuất ra nó
- Sử dụng CURLOPT_HTTPHEADER đặt Loại nội dung thành ứng dụng/JSON
- Đặt nhiều tùy chọn cho phiên cURL. Sử dụng hàm curl_setopt_array[], đặt một số lượng lớn tùy chọn cho cURL mà không cần gọi nó nhiều lần
- Sử dụng curl_exec[] để thực hiện yêu cầu POST
- Giải mã phản hồi và trả về phản hồi dưới dạng chuỗi
- Đóng cURL
ví dụ 1. Ví dụ này minh họa việc chuyển Dữ liệu JSON trong một URL bằng cách sử dụng cURL trong PHP bằng cách sử dụng Yêu cầu POST của cURL