Cơ bản về sử dụng Curl
Bài này mình sẽ nói chi tiết cách dùng Curl cơ bản nhất.
Curl có rất nhiều function nhưng dùng nhiều nhất và hay dùng nhất là các hàm
- curl_init();
// hàm này dùng để khởi tạo một phiên làm việc của Curl không có đối số truyền vào, giá trị trả về là đối số cho các hàm sau.
VD: $curl = curl_init();
- curl_setopt($curl, $options, $value);
// hàm này để thiết lập phương thức làm việc cho curl nghĩa là chúng ta bảo nó grab 1 trang wap hay upload 1 tập tin hoặc post bài viết ý
Trong đó các đối số nhập vào là $curl được khởi tạo bên trên, $options là các tuỳ chọn mình sẽ nói sau, $value là các giá trị của tuỳ chọn đó.
VD: curl_setopt($curl, CURLOPT_URL, 'http://tuoitreit.vn');
có một hàm tương tự là curl_setopt_array($curl, array($options => $value));
- curl_exec($curl);
// hàm này thực hiện phiên làm việc của curl.
Đối số truyền vào $curl được khởi tạo bên trên.
- curl_close($curl);
// hàm này kết thúc một phiên làm việc với curl.
Phần sau mình sẽ tản mạn về Grab trang wap bằng Curl nhé !
Đọc đến đây các bạn thấy Curl rất đơn giản đúng ko ? Oki mình thích cách suy nghĩ đó đừng nản nhé !
Bài này mình sẽ hướng dẫn dùng Curl để Grab trang wap khác.
Ưu điểm của Curl là tốc độ, chính xác, phù hợp trên mọi địa hình và 1 điều mình dám khẳng định "Không có code nào chống được grab bằng Curl, trừ khi nó chặn người dùng truy cập vào trang wap đó " tốc độ Grab của Curl khi mình test là nhanh gấp 10 lần file_get_contents() và gấp 5 lần fsockopen() độ chính xác đến mili giây
Bắt đầu
Vậy là các bạn biết cách grab 1 trang wap tùy thích rồi đấy, kết hợp với str_replace(), preg_replace(), preg_match() để lấy nội dung theo ý thích.
Có lẽ phần này được mong chờ nhất dùng Curl để login vào trang wap khác.
Đầu tiên cần vewsource trang wap đó lên để xem form đăng nhập.
Ví dụ mình có form
Dùng curl để login như sau
Vậy là chúng ta login thành công, việc gửi bài viết cũng tương tự.
Lưu ý:
Cứ mỗi một trường nhập liệu trong form
curl_setopt($curl, CURLOPT_POSTFIELDS, array('tên trường 1' => 'giá trị trường 1', 'tên trường 2' => 'giá trị trường 2'));
Đối với Vbb anti Spam bot thì phải dùng kỹ thuật cao hơn
Chúc các bạn may mắn, hi vọng sau tut này các bạn sẽ hiểu hơn về php và yêu thích php hơn.
Bài này mình sẽ nói chi tiết cách dùng Curl cơ bản nhất.
Curl có rất nhiều function nhưng dùng nhiều nhất và hay dùng nhất là các hàm
- curl_init();
// hàm này dùng để khởi tạo một phiên làm việc của Curl không có đối số truyền vào, giá trị trả về là đối số cho các hàm sau.
VD: $curl = curl_init();
- curl_setopt($curl, $options, $value);
// hàm này để thiết lập phương thức làm việc cho curl nghĩa là chúng ta bảo nó grab 1 trang wap hay upload 1 tập tin hoặc post bài viết ý
Trong đó các đối số nhập vào là $curl được khởi tạo bên trên, $options là các tuỳ chọn mình sẽ nói sau, $value là các giá trị của tuỳ chọn đó.
VD: curl_setopt($curl, CURLOPT_URL, 'http://tuoitreit.vn');
có một hàm tương tự là curl_setopt_array($curl, array($options => $value));
- curl_exec($curl);
// hàm này thực hiện phiên làm việc của curl.
Đối số truyền vào $curl được khởi tạo bên trên.
- curl_close($curl);
// hàm này kết thúc một phiên làm việc với curl.
Phần sau mình sẽ tản mạn về Grab trang wap bằng Curl nhé !
Đọc đến đây các bạn thấy Curl rất đơn giản đúng ko ? Oki mình thích cách suy nghĩ đó đừng nản nhé !
Bài này mình sẽ hướng dẫn dùng Curl để Grab trang wap khác.
Ưu điểm của Curl là tốc độ, chính xác, phù hợp trên mọi địa hình và 1 điều mình dám khẳng định "Không có code nào chống được grab bằng Curl, trừ khi nó chặn người dùng truy cập vào trang wap đó " tốc độ Grab của Curl khi mình test là nhanh gấp 10 lần file_get_contents() và gấp 5 lần fsockopen() độ chính xác đến mili giây
Bắt đầu
<?php
// cú pháp quen thuộc không thể bỏ qua
$curl = curl_init();
// khởi tạo phiên làm việc với Curl
curl_setopt($curl, CURLOPT_URL, 'http://tuoitreit.vn');
// khai báo địa chỉ url
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: text/html','charset:UTF-8'));
// gửi một yêu cầu http
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// khai báo user agent
curl_setopt($curl, CURLOPT_REFERER, 'http://google.com');
// cái này khai báo bạn đến từ trang wap nào
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// thiết lập trả về đối số khi thực hiện phiên Curl
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
// set time out tính theo giây.
$data = curl_exec($curl);
// thực hiện 1 phiên curl trả về nội dung của trang wap cần grab
curl_close($curl);
// kết thúc phiên làm việc với curl
echo $data;
// xem thành quả nào
?>
Vậy là các bạn biết cách grab 1 trang wap tùy thích rồi đấy, kết hợp với str_replace(), preg_replace(), preg_match() để lấy nội dung theo ý thích.
Có lẽ phần này được mong chờ nhất dùng Curl để login vào trang wap khác.
Đầu tiên cần vewsource trang wap đó lên để xem form đăng nhập.
Ví dụ mình có form
<form action="login.php" method="post">
<input name="user" type="text" />
<input name="pass" type="password" />
<input name="submit" type="submit" value="login" />
</form>
Dùng curl để login như sau
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'domain.com/login.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIE, 'cookies.txt');
// khai báo cookie
curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookies.txt');
// khai báo file lưu cookie
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookies.txt');
// khai báo định dạng cookie
curl_setopt($curl, CURLOPT_POST, 1);
// chuyển bị gửi dữ liệu qua phương thức post
curl_setopt($curl, CURLOPT_POSTFIELDS, array('user' => 'tuoitreit.vn', 'pass' => '123456', 'submit' => 'login'));
// gửi dữ liệu từ form
curl_exec($curl);
curl_close($curl);
?>
Vậy là chúng ta login thành công, việc gửi bài viết cũng tương tự.
Lưu ý:
Cứ mỗi một trường nhập liệu trong form
Thì ta phải khai báo<input name="tên trường" value="giá trị" />
curl_setopt($curl, CURLOPT_POSTFIELDS, array('tên trường 1' => 'giá trị trường 1', 'tên trường 2' => 'giá trị trường 2'));
Đối với Vbb anti Spam bot thì phải dùng kỹ thuật cao hơn
Chúc các bạn may mắn, hi vọng sau tut này các bạn sẽ hiểu hơn về php và yêu thích php hơn.