PHP Chạy URL bằng cách sử dụng cURL
PHP. Xoăn Show
Cải thiện bài viết Lưu bài viết Thích bài viết
Cải thiện bài viết Lưu bài viết CURL là viết tắt của 'Ứng dụng khách dành cho URL', ban đầu với URL được đánh vần bằng chữ hoa để làm rõ rằng nó xử lý các URL. Nó được phát âm là 'xem URL'. Dự án cURL có hai sản phẩm libcurl và curl.
PHP/cURL là gì? . hỗ trợ cURL được bật trong PHP, hàm phpinfo() sẽ hiển thị ở đầu ra của nó. Bạn được yêu cầu kiểm tra nó trước khi viết chương trình đơn giản đầu tiên của bạn bằng PHP. php
Sử dụng đơn giản. Yêu cầu/thao tác đơn giản và phổ biến nhất được thực hiện bằng HTTP là lấy một URL. Bản thân URL có thể đề cập đến một trang web, hình ảnh hoặc tệp. Máy khách đưa ra yêu cầu GET tới máy chủ và nhận tài liệu mà nó yêu cầu.
Ví dụ. php
Đầu ra. Tham khảo. http. //php. net/manual/en/book. Xoăn. php Ghi chú cá nhân của tôi arrow_drop_up Tiết kiệm Vui lòng Đăng nhập để nhận xét.'Ứng dụng khách cho URL', được gọi ngắn gọn là cURL, ban đầu được phát âm bằng URL viết hoa để nhấn mạnh rằng nó xử lý các URL. Nó được phát âm là. "xem URL. " cURL là một thư viện PHP và công cụ dòng lệnh (tương tự như wget) cho phép bạn gửi và nhận tệp qua HTTP và FTP. Bạn có thể sử dụng proxy, truyền dữ liệu qua kết nối SSL, đặt cookie và thậm chí nhận các tệp được bảo vệ bằng thông tin đăng nhập Vai trò của cURL trong PHPĐây là một mô-đun PHP cho phép các chương trình PHP sử dụng các chức năng cuộn tròn. Khi hỗ trợ cURL của PHP được bật, đầu ra của hàm phpinfo() sẽ bao gồm thông tin cURL. Trước khi bạn viết chương trình PHP cơ bản đầu tiên, bạn có thể kiểm tra lại nó Chương trình sau đại học. Phát triển web đầy đủ ngăn xếphợp tác với Caltech CTME Đăng ký ngayCú pháp cơ bản cho thông tin PHPphp_info(); ?> Công dụng của cURL trong PHP
Chức năng của cURL trong PHP
Cách tải nội dung của trang web từ xa xuống tệp cục bộ bằng cURL trong PHP<. LOẠI TÀI LIỆU html> $url_name = "https. //Google. com"; $ch_session = curl_init(); curl_setopt($ch_session, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch_session, CURLOPT_URL, $url); $result_url = curl_exec($ch_session); tiếng vang $result_url; ?> Trong ví dụ trên, chúng tôi đang cố gắng hiển thị thông tin URL được gán cho google. com Tên URL này được gán với biến $url_name. Phiên đã bắt đầu với biến $ch_session đầu raTrong ví dụ trên, chúng tôi đang cố gắng xem trang chủ của một trang web Google. Phiên đã được chỉ định với curl_init(). Phương thức này sẽ hiển thị nội dung của một trang web được gán vào một phương thức curl_setopt() cụ thể. Nó sẽ được lưu dưới dạng tệp html để truy cập từ xa Khóa học mới. Phát triển Full Stack cho người mới bắt đầuTìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngayĐể tải xuống tệp từ trang web từ xa bằng cURL trong PHPNếu tùy chọn CURLOPT_ FILE được kích hoạt, một tệp từ xa có thể được tải xuống máy chủ của chúng tôi. Ví dụ: đoạn mã sau tải xuống "Microsoft new launch" từ trang web của công ty Microsoft và lưu nó vào máy chủ của chúng tôi dưới dạng microsoft_new_launch. html Mã nguồn<. LOẠI TÀI LIỆU html> $url_name = "https. //ủng hộ. Microsoft. com/en-in/có gì mới. html"; $file_name = __DIR__. DIRECTORY_SEPARATOR. "Microsot_new_launch. html"; $handle_session = curl_init(); $fileHandle_name = fopen($file, "w"); curl_setopt_array($handle_session, mảng( CURLOPT_URL => $url_name, CURLOPT_FILE => $fileHandle_name, ) ); $data_result = curl_exec($handle_session); curl_close($handle_session); fclose($fileHandle_name); ?> Trong mã nguồn ở trên, url_name chẳng là gì ngoài vị trí tài nguyên ban đầu của trang web. Phiên xử lý sẽ quản lý chi tiết phiên của vị trí trang web hiện tại Chúng tôi sử dụng lệnh curl_getinfo để biết thêm thông tin về yêu cầu. Lệnh này cho phép chúng tôi nhận thông tin kỹ thuật quan trọng về phản hồi, chẳng hạn như mã trạng thái (200 để thành công) và kích thước của tệp đã tải xuống Mã nguồn cho trang phản hồi/* * vim. ts=4 sw=4 fdm=điểm đánh dấu noet tw=78 */ class curlDownloader { riêng $remoteFileName = NULL; riêng tư $ch = NULL; riêng tư $headers = mảng(); phản hồi $ riêng tư = NULL; riêng tư $fp = NULL; riêng tư $debug = FALSE; riêng $fileSize = 0; const DEFAULT_FNAME = 'điều khiển từ xa. ngoài'; chức năng công khai __construct($url) { $this->init($url); } chức năng công khai toggleDebug() { $this->debug =. $this->debug; } hàm công khai init($url) { nếu(. $url ) ném UnlimitedArgumentException mới ("Cần một URL"); $this->ch = curl_init(); curl_setopt($this->ch, CURLOPT_URL, $url); curl_setopt($this->ch, CURLOPT_HEADERFUNCTION, mảng($this, 'headerCallback')); curl_setopt($this->ch, CURLOPT_WRITEFUNCTION, mảng($this, 'bodyCallback')); } chức năng công khai headerCallback($ch, $string) { $len = strlen($string); nếu(. strstr($string, '. ') ) { $this->response = trim($string); trả lại $len; } danh sách($name, $value) = phát nổ('. ', $chuỗi, 2); if( strcasecmp($name, 'Bố trí nội dung') == 0 ) { $parts = phát nổ(';', $value); nếu( đếm($phần) > 1) { foreach($parts AS $crumb) { nếu( strstr($crumb, '=') ) { danh sách($pname, $pval) = phát nổ('=', $crumb); $pname = trim($pname); if( strcasecmp($pname, 'filename') == 0 ) { // Sử dụng tên cơ sở để ngăn chặn việc chèn đường dẫn // trong tiêu đề độc hại $this->remoteFileName = basename( $this->unquote(trim($pval))); $this->fp = fopen($this->remoteFileName, 'wb'); } } } } } $this->headers[$name] = trim($value); trả lại $len; } hàm công khai bodyCallback($ch, $string) { nếu(. $this->fp ) { trigger_error("Không nhận được tên tệp từ xa, đang thử mặc định", E_USER_WARNING); $this->remoteFileName = self. DEFAULT_FNAME; $this->fp = fopen($this->remoteFileName, 'wb'); nếu(. $this->fp ) ném new RuntimeException("Không thể mở tên tệp mặc định"); } $len = fwrite($this->fp, $string); $this->fileSize += $len; trả lại $len; } chức năng công tải xuống() { $retval = curl_exec($this->ch); nếu( $this->debug ) var_dump($this->headers); fclose($this->fp); curl_close($this->ch); trả về $this->fileSize; } chức năng công khai getFileName() { return $this->remoteFileName; chức năng riêng unquote($string) { trả về str_replace(mảng("'", '"'), '', $string); } } $dl = trình tải xuống curl mới ( 'https. //www. Google. com/url?sa=i&url=https%3A%2F%2Fwww. pexels. com%2Fsearch%2Ffree%2520download%2F&psig=AOvVaw3lIh07E0ZIZyNjqNl-JNSd&ust=1638024513705000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCKDNtfuitvQCFQAAAAAdAAAAABAD' ); $size = $dl->download(); printf("Đã tải %u byte xuống %s\n", $size, $dl->getFileName()); ?> đầu raKhóa học Full Stack Web DeveloperĐể trở thành chuyên gia về MEAN Stack Xem khóa họcGửi biểu mẫu bằng cURL trong PHPChúng ta đã thấy cách sử dụng phương thức GET của HTTP cho đến giai đoạn này (thường được sử dụng để xem và tải xuống nội dung). Để gửi biểu mẫu, cURL cũng có thể sử dụng quy trình HTTP POST Bây giờ hãy xem cách gửi biểu mẫu bằng cURL. Để làm điều này, chúng ta cần tạo hai tệp. Trong ví dụ này, chúng tôi sẽ tạo hai tệp sau - chỉ mục. php, biểu mẫu. php
Trên thực tế, hình thức. php sẽ được đặt trên một máy chủ từ xa (mặc dù, ví dụ, cả hai tệp có thể được đặt trên cùng một máy chủ). Ngoài ra, chúng tôi sẽ sử dụng biểu mẫu có ba trường. first_Name, last_Name và gửi Mã thiết kế biểu mẫu là $handle = curl_init(); $url = "https. // localhost/curl/theForm. php"; $postData = mảng( 'firstName' => 'Quý bà', 'Họ' => 'Gaga', 'gửi' => 'ok' ); curl_setopt_array($handle, mảng( CURLOPT_URL => $url, // Cho phép phản hồi bài viết CURLOPT_POST => đúng, CURLOPT_POSTFIELDS => $postData, CURLOPT_RETURNTRANSFER => đúng, ) ); $data = curl_exec($handle); curl_close($handle); tiếng vang $ dữ liệu; ?> Với sự trợ giúp của biểu mẫu được đề cập ở trên, chúng tôi có thể nhận được thông tin chi tiết về first_name và last_name của người sử dụng biểu mẫu Các chi tiết thu được sau đó được chuyển đến biểu mẫu phản hồi PHP đầu raĐể thực hiện xác thực HTTP cơ bản với cURL trong PHPĐể xác thực bằng cURL, ba tùy chọn sau cần được đặt
Mã nguồncurl_setopt_array($handle_session, mảng( CURLOPT_URL => $url_, CURLOPT_HTTPAUTH => CURLAUTH_ANY, CURLOPT_USRPWD => "$user_name. $p_word", CURLOPT_RETURNTRANSFER => đúng, ) ); ?> đầu rakhóa học miễn phí. Nguyên tắc cơ bản về lập trìnhTìm hiểu kiến thức cơ bản về lập trình Đăng ký ngayĐể xử lý cookie trong cURL trong PHPCookie được sử dụng để nhận ra khách du lịch quay lại và người dùng được xác thực trên trang web. Để làm điều này, cURL bao gồm một phương pháp lưu cookie Hai lựa chọn chính để xử lý cookie là CURLOPT COOKIEJAR– Xác định tệp phải được sử dụng để ghi cookie CURLOPT COOKIEFILE– Biến này chỉ định tệp mà cookie sẽ được đọc từ đó Mã nguồn$handle_session = curl_init(); $url_name = "https. //ủng hộ. Microsoft. com/en-in/whats-new"; $file_name = __DIR__. DIRECTORY_SEPARATOR. "bánh quy. txt"; curl_setopt_array($handle_session, mảng( CURLOPT_URL => $url_name, CURLOPT_COOKIEFILE => $file_name, CURLOPT_COOKIEJAR => $file_name, CURLOPT_RETURNTRANSFER => đúng, ) ); $data = curl_exec($handle); curl_close($handle); ?> đầu raNâng cao sự nghiệp của bạn với tư cách là nhà phát triển MEAN stack với Nhà phát triển Web Full Stack - Chương trình Thạc sĩ MEAN Stack. đăng ký ngay bây giờ Phần kết luậnSử dụng tiện ích mở rộng cURL của PHP giúp chúng tôi giao tiếp với các trang web khác một cách nhanh chóng và dễ dàng, đặc biệt là các API do bên thứ ba cung cấp. Trong hướng dẫn tiếp theo, chúng ta sẽ tìm hiểu cách yêu cầu thông tin cá nhân thay mặt cho người dùng đăng nhập vào trang web của chúng ta bằng tài khoản GitHub của họ. Điều này sẽ đạt được với sự trợ giúp của cURL và API Github. Trong bài viết này, bạn đã học về cURL với cú pháp và ví dụ. Để có kiến thức chuyên môn về lập trình C, đồng thời nâng cao hơn nữa triển vọng nghề nghiệp của bạn và trở thành một chuyên gia và một nhà công nghệ toàn diện, bạn có thể đăng ký chương trình Phát triển Web Full Stack của Simplilearn. Đối với người học, Simplilearn đã thực hiện tuyển chọn đặc biệt các khóa học miễn phí. Tham gia Simplilearn để có các khóa học miễn phí về SkillUp và cách mạng hóa nghề nghiệp của bạn với các chứng chỉ, chuyên môn và hàng chục khóa học khác. Có bất kỳ câu hỏi cho chúng tôi? Tìm Chương trình sau đại học của chúng tôi trong Chương trình đào tạo trực tuyến về phát triển web Full Stack tại các thành phố hàng đầuNameDatePlacePost Chương trình sau đại học về phát triển web đầy đủ ngăn xếp Nhóm bắt đầu vào ngày 19 tháng 1 năm 2023,Đợt cuối tuầnChi tiết CityView của bạnChương trình sau đại học về Phát triển web ngăn xếp đầy đủ, SingaporeCohort bắt đầu vào ngày 2 tháng 2 năm 2023, Weekend batchSingaporeView DetailsPost Graduate Program in Full Stack Web DevelopmentCohort starts on 16th Feb 2023, Weekend batchYour CityView Details Thông tin về các Tác giảRavikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark Làm cách nào để truy cập một URL trong PHP?Làm cách nào để lấy URL của trang hiện tại bằng PHP? . if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'bật') // Nối host(tên miền, ip) vào URL $url. = $_SERVER['HTTP_HOST']; // Nối vị trí tài nguyên được yêu cầu vào URL $url. = $_SERVER['REQUEST_URI']; tiếng vang $url; Làm cách nào để sử dụng cURL cho API PHP?// tạo & khởi tạo một phiên curl $curl = curl_init(); // đặt url của chúng ta bằng curl_setopt() curl_setopt($ . thí dụ. com"); // trả lại quá trình truyền dưới dạng một chuỗi, cũng với setopt() curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // curl_exec() thực thi phiên curl đã bắt đầu // $output chứa.
Làm cách nào để gọi một URL và nhận phản hồi trong PHP?php $url = 'http. //tên miền/đường dẫn điểm cuối'; . html", "w"); $curl = curl_init($url); curl_setopt($curl, CURLOPT_FILE, $file); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_exec |