Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_MatchesMapRegex has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/class-wp.php on line 632

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Translation_Entry has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/entry.php on line 14

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_Reader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 12

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_FileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 120

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_StringReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 175

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 221

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedIntFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 236

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_Widget_Factory has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/widgets.php on line 544

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdSense has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 38

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsWidget has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 941

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsSearch has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1003

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsLU has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1078

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzBaseOption has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 22

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzCheckBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 174

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzRadioBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 199

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSelect has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 250

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMessage has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 294

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpTag has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 313

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpPopUp has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 328

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzTextArea has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 346

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzText has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 366

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSubmit has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 385

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzColorPicker has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 409

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzOneTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 432

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMiniTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 476
cURL trong PHP - PHP Cơ Bản

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="">