Hỏi đáp

CURL là gì? Cách sử dụng Curl

cURL là gì?

cURL chính là một command line tool và thư viện đã được sử dụng để truyền dữ liệu thông qua nhiều giao thức khác nhau (như HTTP, HTTPS, FTP, FTPS, SCP, SFTP, FILE, IMAP, SMTP, POP3, RTSP , RTMP…). Được đời đến từ năm 1997 viết bởi Daniel Stenberg viết chỉ bằng C. Với giao thức HTTP, cURL trợ giúp việc gửi đi một request với tất cả các phương thức hiện có như GET, POST, PUT, DELETE…

Cơ bản về sử dụng cURL PHP

Với giao thức HTTP, cURL hỗ trợ việc gửi đi một request với tất cả các phương thức hiện có như GET, POST, PUT, DELETE…Trong PHP có cung ứng các API để thực hiện việc với thư viện này với các chức năng khá đầy đủ cURL PHP.

Bạn đang đọc: CURL là gì? Cách sử dụng Curl

Curl la gi

cURL có hỗ trợ việc truyền dữ liệu qua giao thức HTTPS. Ta có thể dùng cURL trong Php để GET và POST dữ liệu, truy cập REST API service có kết hợp với JSON hoặc xác thực OAUTH.

Tiếng lóng Trung Quốc (Phần 2) – Con Đường Hoa Ngữ

Khi sử dụng cURL thường có 3 bước cơ bản:

Tìm hiểu thêm: Cấu trúc Be aware of trong tiếng Anh

Khởi tạo cURLCấu hình tham số cho cURLThực thi cURLNgắt cURL, giải phóng dữ liệu

$ch = curl_init(); //khai báo curl curl_setopt($ch, CURLOPT_URL,”https://topdev.vn”); // xác định địa chỉ cần thực thi curl_setopt($ch, CURLOPT_POST, 1); // POST // , và các tham số khác … dùng curl_setopt để dịnh giá trị cho mỗi tham số. curl_exec ($ch); // thực thi curl curl_close ($ch); // đóng curl để giải phóng vùng nhớ ?>

Thiết lập cURL

Bạn có thể cấu hình thêm một hoặc nhiều option nữa cho curl chỉ bằng curl_setopt. Những curl_setopt này phải đã được đặt trước curl_exec thì mới có hiệu lực. Đây chính là một hàm quan trọng trong cURL để xử lí các dữ liệu vào:

CURLOPT_RETURNTRANSFER: TRUE để curl_exec() trả về chuỗi chứ chưa xuất thẳng ra màn hình.CURLOPT_CONNECTTIMEOUT: Thời gian cho phép cURL cố gắng kết nối (giây), 0 vô tậnCURLOPT_USERAGENT: Nội dung của dòng User-Agent: trong header của HTTP khi gửi yêu cầuCURLOPT_URL: URL mà cURL gửi yêu cầuCURLOPT_POST: TRUE – Thiết lập yêu cẩu gửi theo phương thức POSTCURLOPT_POSTFIELDS: Mảng dữ liệu để POST

Bạn có thi hành nhiều thiết lập một lúc bằng hàm curl_setopt_array():

//Dữ liệu để POST $data = array( ‘name’ = ‘TopDev’, ‘data’ = array(1,2,3,4), ‘value’ = ‘Viec Lam IT’ ); //Có thể phải dùng thêm hàm chuyển tham số mảng thành chuỗi URL encode //$data = http_build_query($data) nếu POST $curl = curl_init(); $options = array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => ‘https://topdev.vn/api/’, CURLOPT_POST => true, CURLOPT_USERAGENT => “Safari/8.0”, CURLOPT_POSTFIELDS => $data ); curl_setopt_array($curl, $options);

Gửi request với cURL

Tạo tài nguyên cURL và thiết lập xong như trên, ta tiến hành gửi request với cURL bằng hàm curl_exec(). Kết quả trả về false hoặc true , và giá trị là chuỗi trả về khi CURLOPT_RETURNTRANSFER thiết lập true.

$curl = curl_init(); // code khác $result = curl_exec($curl); if ($result === FALSE) echo “CCURL Error”; else //Succeess!, kết quả trong $result

Hotel Là Gì? Motel Là Gi? Sự Khác Biệt Motel Và Hotel – hoctuvangiamsat.com

$result trả về có thể chính là JSON, string…

Sau khi gửi yêu cầu thành công, nhận hết giá trị trả về bạn cần đóng CCURL chỉ bằng hàm curl_close($curl);

Ví dụ sử dụng cURL GET dữ liệu từ JSON

$curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 0, CURLOPT_URL => ‘https://topdev.vn/blog/json/v1/’, CURLOPT_USERAGENT => ‘TopDev Test Api’, CURLOPT_SSL_VERIFYPEER => false )); $resp = curl_exec($curl); //Dữ liệu ở dạng JSON $data = json_decode($resp); var_dump($data); curl_close($curl);

Đánh giá điểm mạnh và điểm yếu của Php10 PHP Instagram Scripts Widgets tốt nhấtHàm json_encode và json_decode trong PHP10 Frameworks tốt số 1 hiện nay cho PHPSử dụng mảng đúng cách trong PHP10 điều bạn cần biết về PHP7

Phật Bà Quan m Độ Mạng Là Gì? Thỉnh Tượng Quan m Độ Mạng

Phật Bà Quan m Độ Mạng Là Gì? Thỉnh Tượng Quan m Độ Mạng

Tìm hiểu thêm: Tục ngữ về tình yêu trong tiếng Anh