Làm thế nào tôi có thể tải xuống nội dung của một URL trong nút khi sử dụng Khung Express? Về cơ bản, tôi cần hoàn thành luồng xác thực Facebook, nhưng tôi không thể làm điều này mà không nhận được URL OAuth Token của họ. Show
Thông thường, trong PHP, tôi sẽ sử dụng Curl, nhưng nút tương đương là gì? Hỏi ngày 14 tháng 10 năm 2011 lúc 19:27Oct 14, 2011 at 19:27
http://nodejs.org/docs/v0.4.11/api/http.html#http.get Đã trả lời ngày 14 tháng 10 năm 2011 lúc 21:36Oct 14, 2011 at 21:36
Chovychovychovy 68K48 Huy hiệu vàng204 Huy hiệu bạc260 Huy hiệu Đồng48 gold badges204 silver badges260 bronze badges 4 Vấn đề mà bạn sẽ ở phía trước là: một số trang web tải nội dung của nó bằng JavaScript. Do đó, bạn cần một gói, như tải sau khi mô phỏng hành vi của trình duyệt, sau đó cung cấp cho bạn nội dung HTML của URL đó.
Sergio 28.2K10 Huy hiệu vàng83 Huy hiệu bạc130 Huy hiệu đồng10 gold badges83 silver badges130 bronze badges Đã trả lời ngày 27 tháng 7 năm 2016 lúc 5:12Jul 27, 2016 at 5:12
Abdennour toumiabdennour toumiAbdennour TOUMI 79,9K36 Huy hiệu vàng233 Huy hiệu bạc241 Huy hiệu Đồng36 gold badges233 silver badges241 bronze badges 1 Sử dụng HTTP Way yêu cầu nhiều dòng mã hơn cho một trang HTML đơn giản.
Đây là tài liệu cho yêu cầu: https://github.com/request/request Phương pháp thứ 2 bằng cách tìm nạp với lời hứa:
Đã trả lời ngày 23 tháng 6 năm 2018 lúc 10:50Jun 23, 2018 at 10:50
Natesh Bhatnatesh BhatNatesh bhat Huy hiệu vàng 11K1010 gold badges74 silver badges115 bronze badges Sử dụng mô -đun 1:
2 - Hoàn thành HTML của trang.Tôi chỉ đơn giản hóa ví dụ từ các tài liệu chính thức. Đã trả lời ngày 2 tháng 7 năm 2021 lúc 19:20Jul 2, 2021 at 19:20
SCOFIELDSCOFIELDScofield 3.6751 Huy hiệu vàng23 Huy hiệu bạc29 Huy hiệu đồng1 gold badge23 silver badges29 bronze badges Sử dụng Axios đơn giản hơn nhiều
hoặc
Đối với các tài liệu đầy đủ, bạn có thể đi qua Axios GitHub Đã trả lời ngày 28 tháng 3 lúc 8:51Mar 28 at 8:51
1
Đặc trưng
Công nghệ không đầu như Puppeteer mang đến cho chúng ta việc đánh dấu HTML từ bất kỳ trang web nào, ngay cả khi URL mục tiêu là ứng dụng phía máy khách và chúng ta cần đợi cho đến khi Dom Events bắn để nhận được đánh dấu thực sự. Nói chung, cách tiếp cận này tốt hơn một yêu cầu nhận đơn giản từ URL mục tiêu, nhưng vì bạn cần chờ các sự kiện DOM, nên việc bảo vệ có thể chậm và trong một số kịch bản không cần thiết (các trang web sử dụng kết xuất phía máy chủ có thể được giải quyết bằng cách nhận đơn giản). HTML-Get mang đến những điều tốt nhất của cả hai thế giới, thực hiện thuật toán sau: bring the best of both worlds, doing the following algorithm:
Cài đặt$ npm install browserless puppeteer html-get --save Cách sử dụngconst createBrowserless = require('browserless') const getHTML = require('html-get') // Spawn Chromium process once const browserlessFactory = createBrowserless() // Kill the process when Node.js exit process.on('exit', () => { console.log('closing resources!') browserlessFactory.close() }) const getContent = async url => { // create a browser context inside Chromium process const browserContext = browserlessFactory.createContext() const getBrowserless = () => browserContext const result = await getHTML(url, { getBrowserless }) // close the browser context after it's used await getBrowserless((browser) => browser.destroyContext()) return result } getContent('https://example.com') .then(content => { console.log(content) process.exit() }) .catch(error => { console.error(error) process.exit(1) }) Dòng lệnh
APIgethtml (url, [tùy chọn])URLLoại bắt buộc: 3Type: 3URL mục tiêu để nhận được đánh dấu HTML. GetbrowserlessLoại bắt buộc: 4Type: 4Một chức năng sẽ trả về một thể hiện không có trình duyệt để được sử dụng để tương tác với Puppeteer: tùy chọnPRERENDERLoại: ________ 15 | ________ 13 Mặc định: 7Default: 7Kích hoạt hoặc vô hiệu hóa Prerendering như cơ chế để nhận được đánh dấu HTML một cách rõ ràng. Giá trị 8 có nghĩa là sử dụng nội bộ danh sách các trang web không cần sử dụng Prerendering theo mặc định. Danh sách này được sử dụng để tăng tốc quá trình, sử dụng chế độ 9 cho các trang web này.Xem tham số GetMode để biết thêm. mã hóaLoại: 3 Mặc định: 1Default: 1Mã hóa đánh dấu HTML đúng cách từ phản ứng của cơ thể. Nó xác định mã hóa để sử dụng thư viện Node.js để chuyển đổi các tài liệu HTML của mã hóa tùy ý thành mã hóa mục tiêu (UTF8, UTF16, v.v.). tiêu đềLoại: 2Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender. GetModeLoại: 4Một đánh giá chức năng sẽ được gọi để xác định 4 liên tiếp để nhận được đánh dấu HTML từ URL mục tiêu.Mặc định 5 là: 0GotoptionsLoại: 2Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender. GetModeLoại: 2Các tiêu đề yêu cầu sẽ được chuyển đến quy trình tìm nạp/prerender. GetModeLoại: 4Default: 1Một đánh giá chức năng sẽ được gọi để xác định 4 liên tiếp để nhận được đánh dấu HTML từ URL mục tiêu.Mặc định var request = require("request"); request({uri: "http://www.sitepoint.com"}, function(error, response, body) { console.log(body); }); }); 5 là:Gotoptions © Microlink, released under the MIT License.
Làm cách nào để trả về tệp HTML của Node.js?Kết xuất tệp HTML trong nút ... Bước 1: Cài đặt Express.Tạo một thư mục mới và khởi tạo một dự án nút mới bằng lệnh sau..... Bước 2: Sử dụng hàm sendFile ()..... Bước 3: Kết xuất HTML trong Express..... Bước 4: Kết xuất HTML động bằng công cụ tạo khuôn .. Làm cách nào để nhận dữ liệu Node.js từ HTML?Nếu máy chủ nút của bạn cũng phục vụ trang HTML này, thì bạn có thể sử dụng đường dẫn tương đối để trỏ đến tuyến đường của bạn như thế này: hành động = "/xử lý dữ liệu dạng".Thẻ đầu vào lồng bên trong biểu mẫu được sử dụng để thu thập đầu vào của người dùng.Bạn phải gán thuộc tính tên cho dữ liệu của mình để bạn có thể nhận ra phần dữ liệu này trên máy chủ.action="/handle-form-data" . The input tag nested inside the form is used to collect user input. You have to assign a name property to your data so that you can recognize this piece of data on the server.
Làm thế nào để bạn liên kết Node.js với HTML?Đối với trang HTML, chúng tôi phải sử dụng URL, vì vậy, trong mô -đun Node JS, URL URL đã được sử dụng để chúng tôi phải thêm mô -đun này vào tệp chương trình của chúng tôi.Và sau đó chúng ta có thể nhận được đường dẫn của URL yêu cầu như hình dưới đây.var url = yêu cầu ("url"); var path = url.var url=require("url"); var path=url. |