Hướng dẫn dùng code curl trong PHP
Trong bài này chúng ta tìm hiểu hai phương thức POST, GET trong CURL và tìm hiểu làm thế nào để giả lập phương thức POST với PHP CURL, đồng thời chúng ta làm một ví dụ vể sử dụng CURL để submit một form với method là POST. Show 1. Method GET trong PHP CURLNhư ta biết, dữ liệu dạng GET sẽ được gửi bằng cách thêm vào cuối URL (query string) nên nếu gửi dạng này thì rất đơn giản, ta chỉ cần truyền tham số vào URL là xong. Ở các ví dụ trước chúng ta cũng sư dụng CURL dạng get đấy. Nếu bạn không dùng CURL để lấy thông tin thì có thể sử dụng hàm Ví dụ: Tạo hai file 1để in ra biến toàn cục 2, file index.php có nhiệm vụ dùng CURL để gửi tên và địa chỉ qua bằng phương thức GET.File get.php
File index.php
Kết quả 2. Method POST trong PHP CURLKhác với GET, nếu ta muốn gửi dữ liệu dang POST thì phải thông qua FORM, nhưng chúng ta đang giả mạo request để gửi thông tin thì không thể có FORM được, chính vì vậy thư viện CURL đã cung cấp một số thông số giải quyết được vấn đề này. Trước tiên chúng ta tìm hiểu hai options:
Ví dụ: tạo hai file 4 và file index.php , trong đó file 4 có nhiệm vụ dùng ham 7 để in biến 8, file index.php có nhiệm vụ gửi CURL sang. File post.php
File index.php
Kết quả 3. Giả lập trình duyệt đang gửi CURLBây giờ ta có trường hợp đường link ta muốn CURL tới chỉ chấp nhập trình duyệt firefox thôi thì làm thế nào? Rất đơn giản, ta sẽ sử dụng thông số CURLOPT_USERAGENT để cấu hình. Ví dụ: Tạo hai file 9 và file index.php , file 9 có nhiệm vụ in ra trình duyệt của client đang request và file index.php có nhiệm vụ gửi CURL.File agent.php
File index.php
Kết quả Bạn thấy đó, tôi đang sử dụng trình duyệt Chrome để gửi mà phía Server lại nhận được kết quả là Firefox. 4. Lời kếtBạn thấy CURL đúng là quá hay phải không nào, bạn có thể sử dụng CURL POST để xây dựng ứng dụng đăng nhập vào một site nào đó hoặc thực hiện đăng bài tự động chẳng hạn. Tuy nhiên không phải đơn giản nhé, có những website học check rất kỹ và có token hoặc captcha nên bạn sẽ phải xử lý làm sao lấy được các thông tin đó rồi đưa vào tham số của CURL để gửi. |