• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Admin

Well-Known Member
Staff member
Administrator
CURL là một hàm hay của PHP.
Hàm này giúp ta lấy, chiết tách hay đọc nội dung một trang web khác ngay trên Server của chúng ta. Một thuận lợi lớn nhất mà hàm curl này mang lại đó là tốc độ, nhanh hơn rất nhiều so với hàm open file gần gấp 3 lần.
cURL được ví 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ỉ Trước khi lướt qua các bài ví dụ, chúng ta nên xem lại cách tạo, gọi và thực thi một hàm curl nhé.
Cách cơ bản để sử dụng hàm cURL
Một thủ tục cUrl hoàn chỉnh phải trải qua các bước sau:
PHP:
$ch = curl_init(); //khai báo curl curl_setopt($ch, CURLOPT_URL,"http://minhnhut.info");
//xác định địa chỉ cần thực thi
curl_setopt($ch, CURLOPT_POST,1);
// GET hay POST
// và các tham số khác ... dùng
curl_setopt để dịnh giá trị chomỗi tham số.
curl_exec ($ch);
// thực thi curl
curl_close ($ch); 
// đóng curl để giải phóng vùng nhớ
Bạn có thể thiết đặt thêm 1 hoặc nhiều option nữa cho curl bằng curl_setopt. Các curl_setopt này phải được đặt trước curl_exec thì mới có hiệu lực.
Một số ví dụ PHP hay về cUrl
Trong mỗi ví dụ mình đều có comment, chắc là không cần phải giải thích thêm.
Đọc dữ liệu từ một url dưới dạng binary và lưu vào biến
PHP:
<?php
// Vẫn như thường lệ, phải khai báo cái đã
$ch = curl_init("http://minhnhut.info/image.jpg);
// khai báo curl có kèm url
// tức đã set luôn CURLOPT_URL cho curl
if (! $ch) {
die( "Lỗi trong quá trình khởi tạo cURL" );
}
// Chúng ta sẽ nhận trị trả về và nhận dưới dạng binary
// Dó đó ta phải set 2 option như sau
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
// Nếu không set như trên, bạn sẽ không nhận được gì
// khi curl được thực thi, tức giá trị NULL
// Chạy curl và lưu trị trả về vào $data
$data = curl_exec($ch);
// đóng kết nối
curl_close($ch);
// Lúc bây giờ $data đã lưu file ảnh vừa lây được từ
// url khai báo ban đầu
header("Content-type: image/jpeg");
// Định dạng ảnh là .jpg, do đó content-type như trên
// cũng không có gì quá khó hiểu
// xuất dữ liệu ra và trả về cho người duyệt web
print( $data );
?>
Trong ví dụ trên, chúng ta dùng curl để load một file ảnh từ địa chỉ và lưu nó vào biến $data.
Cuối cùng ta xuất biến $data này ra, tức xuất file ảnh ra… Nói nôm na, ta tải file ảnh về và xuất nó ra cho người dùng coi.
Upload file gián tiếp lên trang web khác
Giả sử ta có form sau:
HTML:
<form enctype="multipart/form-data"
action="somewhere.php"
method="post">
<input type="file"
name="upfile">
<input type="text"
name="filename">
<input type="text"
name="description">
<input type="submit" value="upload">
</form>
Vâng đây là một form dùng để upload file. Chúng ta có thể dùng curl để upload gián tiếp một file trên host của ta (máy chủ đang thực thi lệnh curl) lên máy chủ đích. Trước khi thực hiện ví dụ, ta cần chú trọng một số vấn đề trước khi làm thử thủ thuật này.
1. giá trị name của thẻ input:
“name=”
2. Loại tệp tin của file sẽ dùng để upload phải phù hợp với loại tệp tin mà máy chủ đích yêu cầu, nếu không muốn bị máy chủ đích từ chói.
3. Địa chỉ tuyệt đối đến nơi sẽ nhận dữ liệu từ form có thể suy ra từ chỗ
“action=”
Xem ví dụ PHP sau, giả sử form này nằm trên blog minhnhut.info :
PHP:
<?php
// địa chỉ đến file cần upload
$uploadfile="/tmp/myimage.jpg";
// và khai báo curl
// địa chỉ ở đây bạn phải suy ra từ thuộc tính
// action của form,
minhnhut.info chỉ là ví dụ
$ch = curl_init("http://minhnhut.info/somewhere.php" );
// Đặt thuộc tính
// trước hết là các biến cho gói dữ liệu POST
curl_setopt($ch, CURLOPT_POSTFIELDS, array('sampfile'=>"@$uploadfile",'shoesize'=>'9','filename'=>"fake name for file"));
// cài chế độ lấy nội dung trả về
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// thực thi curl, đồng thời lưu trị trả về vào biến
$postResult = curl_exec($ch);
//đóng kết nối và xuất ra nội dung trang web trả về.
curl_close($ch);
print "$postResult";
?>


----------> Bổ sung bài viết lúc 14:42 <----------> Bài viết trước lúc 14:37 <----------

Sử dụng Cookie Jar, lưu trữ cookie.
Curl có một tính năng độc đáo là lưu trữ lại cookie trong quá trình thực thi lại thành một tệp tinh lưu trên host hiện hành. File cookie có thể dùng để nạp vào curl cho lần truy vấn sau, rất thuận tiện nếu trang web đích yêu cầu đăng nhập, hoặc làm một số hành động kiểm tra cookie.
Thủ thuật này gồm 2 ví dụ. Ví dụ 1, lưu cookie với cookie jar:
PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://minhnhut.info/login.php");
// ví dụ thôi nhá =,=
curl_setopt($ch,CURLOPT_POST, 1);
// thiết lập POST, và nội dung gói dữ liệu POST
curl_setopt($ch, CURLOPT_POSTFIELDS,
"UserID=minhnhut&password=123456" );
curl_exec ($ch);
// và đừng quên đóng curl lại
curl_close ($ch);
?>
Đoạn code trên sẽ truy cập vào minhnhut.info với username là
minhnhut và 123456 là mật khẩu (giả sử). Sau đó nó sẽ lưu toàn bộ cookie minhnhut.info thiết lập vào file cookieFileName.
Mọi chuyện diễn ra khá đơn giản.
Tiếp theo là ví dụ 2, ta sẽ sử dụng lại file cookie từ ví dụ 1.
PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// dùng lại file cookie đã lưu
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");
// giả sử dashboard.php là trang mật, chỉ khi đã đăng nhập mới có
// quyền truy cập
curl_setopt($ch, CURLOPT_URL,"http://minhnhut.info/dashboard.php" );
//thực thi
$data = curl_exec($ch);
// đóng
curl_close ($ch);
// xuất ra nội dung
dashboard.php đã truy cập
echo htmlentities($data);
Ở ví dụ 2 trên ta giả sử dashboard.php được bảo vệ bằng mật khẩu, ở ví dụ 1 ta đã đăng nhập và lưu lại cookie, ở ví dụ 2 ta dùng lại cookie cũ tức đã được xác nhận là đã đăng nhập,dó đó curl sẽ có thể truy cập
được nội dung dashboard.php trên minhnhut.info.
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
Admin 2 hàm CURL hay để lấy và gửi (GET & POST) dữ liệu từ trang khác PHP 0
Mr.khang Hỏi anh Thắng và ae chút về curl HTML & CSS 8
Mr.khang [Hỏi] Curl là gì? Và viết như thế nào? Mã nguồn web 5
K Fake IP khi dùng curl để lấy nội dung trang wap Góc thành viên học tập 2
Admin Hướng dẫn cho phép curl trên Litespeed đơn giản VPS & Dedicated Server 0
K Hỏi Curl Cách Post nội dung PHP 4
Tuzoro Share Code Curl import file từ link xtgem về host PHP 0
N Hỏi Ai gioi Curl vào giúp Johncms 0
P Thảo luận Upload File Lên Một Host Khác Thông Qua Curl PHP 0
Admin Hướng dẫn grab bằng curl PHP 0
A Help can tai tro hosting ho tro curl Hosting / Domain 10
chomchom Share Khảo sát và lắng nghe KH năm 2024: Trải nghiệm liền tay, Nhận ngay Quà khủng Điện thoại di động 0
katy Android Đăng ký gói NCT89T MobiFone nhận 30GB và miễn phí nghe nhạc Điện thoại di động 4
katy Android MobiFone: Ưu đãi tháng 3 khi nạp tiền và mua Data qua kênh ví MoMo Điện thoại di động 0
katy Android MobiFone ưu đãi khi mua Data và nạp tiền điện thoại trên ví MoMo Điện thoại di động 0
katy MobiEnglish: Học Tiếng anh và lướt mạng thả ga chỉ 100k/tháng Tin tức, giới thiệu về ĐTDĐ 100
Admin Thông báo Chúc mừng năm mới xuân Giáp Thìn 2024 đến [YOU] và tất cả thành viên tuoitreit.vn Thông báo mới 1
katy Android MobiEnglish: Học tiếng Anh và lướt mạng xã hội thả ga chỉ 100k/tháng Điện thoại di động 0
katy Android Cuối năm họp hành nhiều và hiệu quả đăng ký ngay MT120 của MobiFone Điện thoại di động 14
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
katy Android Hướng dẫn đổi điểm KNDL và điểm tích lũy MobiFone lấy data Điện thoại di động 0
F TIPS TẢI GAME AN TOÀN VÀ NHANH CHÓNG: THỎA SỨC PHÁ ĐẢO THẾ GIỚI ẢO Máy tính 0
F [Fshare] Bộ đôi tính năng bảo mật giúp ngăn chặn hacker và bảo vệ tài khoản Tin tức CNTT 0
hellonhe forummmo.com cần tuyển admin, mod và các đại ca cntt Tin tức, sự kiện thường ngày 0
F Chia sẻ File dễ dàng và nhận điểm thưởng thả ga cùng Fshare! Tin tức CNTT 1
katy Android KC90 - Gói Combo Data và Thoại mới ra mắt siêu ưu đãi của MobiFone Điện thoại di động 12
katy Android Tặng Free 1GB DATA và gói quà trị giá 1 triệu đồng tại app MyPoint Điện thoại di động 4
katy Android Tặng Free 1GB DATA và gói quà trị giá 1 triệu đồng tại app MyPoint Điện thoại di động 11
katy Android Tặng Free 1GB DATA và gói quà trị giá 1 triệu đồng tại app MyPoint Điện thoại di động 0
katy Android MobiCA - Dịch vụ xác thực và cung cấp chứng thư số, chữ ký số Điện thoại di động 4
katy Android Lợi ích của việc cập nhật và chuẩn hóa thông tin thuê bao MobiFone Điện thoại di động 10
katy Android Đổi điểm tích lũy MobiFone lấy Datacode và các sản phẩm dịch vụ Điện thoại di động 13
cuongpro9x Share Office 2013-2021 C2R Install v7.5.0.1 (x86/x64) – Cài đặt và kích hoạt Office Phần mềm 0
katy Android MobiFone triển khai Khảo sát và lắng nghe nhu cầu Khách hàng Điện thoại di động 0
katy Android Nhận mã giảm giá 700k khi mua điện thoại và thanh toán qua VNPAY-QR tại cửa hàng MobiFone Điện thoại di động 0
donbaclieu Nhận đặt tiệc buffet, tea break, finger food, cocktail, set menu cho các sự kiện công ty và gia đình Trò chuyện linh tinh 13
katy Android Nhận 180GB/tháng và 1000 phút thoại nội mạng chỉ 120k với gói C120K MobiFone Điện thoại di động 24
vudownload Amazon Business là gì và nó hoạt động như thế nào? Tin tức CNTT 0
phongphung Share OPEN web Site :--- Cloud24.vn ---Cung cấp VPS/Proxy Private chính hãng ( EU - VN - US ..v.v..) và hơn 60 quốc gia khác !!!! VPS & Dedicated Server 23
Admin Share tool savio 3.1.3 kích hoạt mọi bản quyền office và windows Sử dụng, chia sẻ, hỏi đáp 0
haopro Nonstop Nhạc Tiktok 2022 Xung Căng Phiêu Cắm Tai Nghe Và Lên Xe #Vinahouse Bay Phòng Hay Âm nhạc 0
tunglamed Các cách đổi esim MobiFone và cảnh báo lừa đảo chiếm đoạt sim thông qua đổi esim Thông tin các mạng di động 0
H Hướng dẫn Phụ huynh chật vật lo cho con học online? Chìa khoá xua tan nỗi lo của phụ huynh Trẻ em nói chung và con em trong gia đình công nhân nói riêng phải t Phần mềm 0
T Share Phần mềm bảo vệ và giám sát con cái học online hiệu quả nhất Phần mềm 0
haopro Nonstop 2022 Vitamin A Nhạc Lên Là Em Chỉ Việc R.ê.n Và La Âm nhạc 0
minhquang02 Wi-Fi 6 trang bị cho laptop và cách sự hiệu quả nhất Tin tức, sự kiện thường ngày 0
tunglamed Tải và chia sẻ ứng dụng My MobiFone: Rinh ngàn quà tặng Điện thoại di động 2
haopro Nonstop Nhạc Hot Tiktok 2022 Cắm Tai Nghe Và Lên Xe | Full NhạcTiktok Vinahouse Gây Nghiện Âm nhạc 0
tunglamed MobiFone tặng 50 phút thoại và 2GB data hỗ trợ cho thuê bao vùng dịch Điện thoại di động 9

Similar threads

New posts New threads New resources

Back
Top