cURL trong PHP

Curl trong PHP

  1. Giới thiệu:

CURL là một hàm hay trong PHP. Hàm này giúp ta lấy, chiết tách và đọc nội dung một trang web khác ngay trên Server của chúng ta. Ưu điểm lớn nhất mà hàm này mang lại đó là tốc độ, sử dụng CURL thay vì dùng open file giúp tốc độ nhanh hơn gần gấp 3 lần. CURL được coi như một công cụ giao tiếp đa giao thức, giúp ta xem hoặc tải một địa chỉ.

CURL hỗ trợ hầu hết các giao thức Internet phổ biến hiện nay như:   HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, dict, TELNET, FILE, IMAP, POP3, SMTP và RTSP

  1. Ví dụ dùng CURL trong PHP

Một ứng dụng CURL thường có 3 bước cơ bản:

Bước 1: Khởi tạo CURL

Bước 2: Cấu hình thông số cho CURL

Bước 3: Thực thi CURL

Bước 4: Ngắt CURL, giải phóng dữ liệu

Trong phần cấu hình, chúng ta đặc biệt chú ý đến lệnh curl_setopt(1,2,3);

Đây là một hàm quan trọng trong CURL để xử lí các dữ liệu vào.

Curl_setopt(1,2,3) có 3 tham số đầu vào:

  • 1 là đối tượng CURL
  • 2 là tên cấu hình
  • 3 là giá trị

Một số tên cấu hình thông dụng với CURL:

  • CURLOPT_URL: đường dẫn tới URL cần xử lý
  • CURLOPT_RETURNTRANSFER: nếu true thì sẽ trả kết quả về ở hàm curl_exec nên ta phải echo kết quả đó mới in lên trình duyệt, nếu false thì thực thi là nó in kết quả lên trình duyệt luôn
  • CURLOPT_USERAGENT: Dùng để giả lập đang gửi ở trình duyệt nào (user agent)
  • CURLOPT_TIMEOUT: Thiết lập thời gian sống của một request CURL
  • CURLOPT_FILE: Lưu kết quả vào file
  • CURLOPT_FILE: Lưu kết quả vào file
  • CURLOPT_POSTFIELDS: giá trị của nó chính là một mảng các key => value, tương ứng với name và value của nó trong các thẻ input khi submit FORM
  • …..

Ngoài ra còn có rất nhiều Option với các value khác nữa đối với hàm CURL_setopt mà trong bài viết này không thể liệt kê hết được. Nếu các bạn thực sự quan tâm có thể vào trang chủ của php để tìm hiểu thêm:     http://php.net/manual/en/function.curl-setopt.php

  1. Dùng CURL để GET dữ liệu từ một site khác và POST lên trang đích

  • Phần tiếp theo mình sẽ làm một ví dụ đơn giản để lấy dữ liệu từ một site và đưa lên trang đích
  • Đầu tiên là hàm lấy dữ liệu từ site khác:

  • Sau đó là đưa dữ liệu lên site của chúng ta:

Với hai hàm trên, bạn có thẩy lấy dữ liệu từ site khác đưa vào site đích một cách đơn giản. Ngoài ra bạn có thể sử dụng một số hàm sau cho mục đích nâng cao hơn.

  • đặt một User-agent tùy biến ( giả tên trình duyệt một cách ngẫu nhiên-“random”)

Sau đó có thể dùng tiếp Option CURLOPT_USERAGENT để đặt trình duyệt giả

  • Xử lí redirects

Để xử lí điều hướng URL, ta có thể sử dụng Option CURLOPT_FOLLOWLOCATION với Value là TRUE. Số lượng lớn nhất của redirects được điều khiển bằng Option CURLOPT_MAXREDIRS

You may also like...

1 Response

  1. July 28, 2015

    […] 2. Dùng curl Về curl các bạn có thể tham khảo chi tiết ở một bài viết khác trong diễn đàn http://phpcoban.com/curl-trong-php/ […]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">