Làm cách nào để chạy một trang python trên localhost?

Xin chào, tôi có thể chạy các tệp python từ trình duyệt web tại địa chỉ http. // localhost/cgi-bin/myfile. py nhưng tôi muốn chạy chúng tại địa chỉ http. //máy chủ cục bộ. anyport/ , tôi có thể làm như thế nào?

Tôi đã đọc một cuốn sách về Python và nó nói rằng tôi phải kích hoạt máy chủ web để hiểu mã python, chỉ sử dụng 3 dòng mã, đặt chúng vào một. py và chạy tập lệnh, sau đó tôi có thể nhập "http. //máy chủ cục bộ. anyport/" trong thanh địa chỉ của trình duyệt web và xem nó hoạt động

Mình làm rồi mà không được, đây là 3 dòng code

#. usr/bin/python
từ BaseHTTPServer nhập HTTPServer
từ SimpleHTTPServer nhập SimpleHTTPRequestHandler
HTTPServer[['localhost',8000], . serve_forever[]

Lưu chúng dưới dạng "kích hoạt. py"
Tôi hơi bối rối ở đây, nó nói "chạy tập lệnh này" và tôi tự hỏi liệu "chạy" ở đây có nghĩa là chạy "kích hoạt. py" với trăn. exe??? . //máy chủ cục bộ. 8000", trình duyệt web hiển thị trang không thể hiển thị [địa chỉ không tồn tại]. Bạn có thể nói rõ hơn được không, họ nói lập trình web với python rất dễ, nhưng tôi không thấy dễ, thậm chí còn không dễ hơn PHP.

Trợ giúp của bạn sẽ được đánh giá cao. Cảm ơn.
Tái bút. À, còn #. usr/bin/trăn?

CẬP NHẬT
Thực tế, tập lệnh tôi đã lưu dưới dạng "kích hoạt. py" không chạy thành công, thông báo lỗi "Không có mô-đun nào có tên BaseHTTPServer". Tôi có thể khắc phục lỗi này như thế nào?
Cảm ơn bạn.

Bạn phải biết rằng Python có thể được sử dụng để viết các máy chủ web rất hiệu quả. Được biết, có rất nhiều framework và thư viện phổ biến và tuyệt vời như Django và Flask, cho phép các nhà phát triển phụ trợ tập trung vào logic nghiệp vụ và tiết kiệm rất nhiều thời gian viết mã

Tuy nhiên, bạn đã bao giờ biết rằng thư viện tích hợp sẵn của Python

# Make sure the server is created at current directory
os.chdir['.']
7 cũng có thể được sử dụng để viết một máy chủ web chưa?

chuẩn bị đơn giản

Ảnh của Toa Heftiba trên Bapt

Máy chủ web sẽ cần được bắt đầu ở đâu đó, vì vậy bạn cần suy nghĩ về nơi bạn muốn bắt đầu. Sau đó, bạn có thể muốn đặt mã của mình ở đó

Ngoài ra, chúng tôi sẽ cần nhập thư viện

# Make sure the server is created at current directory
os.chdir['.']
7. Theo tùy chọn, bạn nên nhập thư viện
# Make sure the server is created at current directory
os.chdir['.']
9 để đảm bảo rằng máy chủ web thực sự đang chạy trong thư mục “hiện tại”. Nói cách khác, sử dụng thư mục hiện tại làm đường dẫn gốc của máy chủ web

import os
from http.server import HTTPServer, CGIHTTPRequestHandler

Từ thư viện

# Make sure the server is created at current directory
os.chdir['.']
7, chúng ta cần lớp
# Make sure the server is created at current directory
os.chdir['.']
0 để khởi tạo đối tượng máy chủ, cũng như lớp
# Make sure the server is created at current directory
os.chdir['.']
1 làm trình xử lý yêu cầu

Nếu bạn không biết

# Make sure the server is created at current directory
os.chdir['.']
2 là gì, đây là một định nghĩa ngắn gọn từ Wikipedia

Trong điện toán, Giao diện cổng chung [CGI] là một đặc tả giao diện cho các máy chủ web để thực thi các chương trình như ứng dụng bảng điều khiển [còn được gọi là chương trình giao diện dòng lệnh] chạy trên máy chủ tạo các trang web động. Các chương trình như vậy được gọi là tập lệnh CGI hoặc đơn giản là CGI. Các chi tiết cụ thể về cách tập lệnh được thực thi bởi máy chủ được xác định bởi máy chủ. Trong trường hợp phổ biến, tập lệnh CGI thực thi tại thời điểm yêu cầu được thực hiện và tạo HTML. [1]

Ba dòng mã

Ảnh của Josh Riemer trên Bapt

Sau đó, hãy viết mã máy chủ bằng ba dòng mã, không đùa đâu

Dòng đầu tiên

Hãy đảm bảo rằng máy chủ được tạo tại thư mục hiện tại và sử dụng nó làm đường dẫn gốc. Phương thức

# Make sure the server is created at current directory
os.chdir['.']
3 sẽ đặt đường dẫn làm thư mục làm việc hiện tại. Ở đây chúng tôi đặt
# Make sure the server is created at current directory
os.chdir['.']
4, là thư mục hiện tại làm thư mục làm việc của nó

# Make sure the server is created at current directory
os.chdir['.']

Dòng thứ hai

Hãy tạo một “đối tượng máy chủ” từ lớp

# Make sure the server is created at current directory
os.chdir['.']
0. Phải mất hai đối số, đối số đầu tiên là
# Make sure the server is created at current directory
os.chdir['.']
6 là một bộ của

  • Địa chỉ lắng nghe, trong đó chuỗi trống có nghĩa là lắng nghe localhost
  • Số cổng lắng nghe. Tôi sẽ sử dụng cổng 80 để không phải nhập số cổng để truy cập. Tùy thuộc vào bạn để sử dụng các số cổng khác, chẳng hạn như 8080
# Create server object listening the port 80
server_object = HTTPServer[server_address=['', 80], RequestHandlerClass=CGIHTTPRequestHandler]

Đối số thứ hai là lớp xử lý yêu cầu. Ở đây chúng tôi sử dụng

# Make sure the server is created at current directory
os.chdir['.']
1 mà chúng tôi đã nhập

Dòng thứ ba

Không có gì khác, hãy chạy nó

# Make sure the server is created at current directory
os.chdir['.']
1

Phương thức

# Make sure the server is created at current directory
os.chdir['.']
8 sẽ khởi động máy chủ dựa trên đối tượng máy chủ mà chúng ta vừa tạo và đảm bảo rằng nó liên tục chạy

Tất cả mã cùng nhau

# Make sure the server is created at current directory
os.chdir['.']
3Kiểm tra máy chủ và tại sao chúng ta cần nó

Ảnh của Ben White trên Bapt

Lưu tất cả mã vào một tệp có tên là

# Make sure the server is created at current directory
os.chdir['.']
9. Sau đó, đi đến dòng lệnh và chạy tập lệnh Python

# Make sure the server is created at current directory
os.chdir['.']
5

Bạn sẽ thấy không có gì xuất hiện trong thiết bị xuất chuẩn, điều đó được mong đợi. Truy cập trình duyệt của bạn và nhập

# Create server object listening the port 80
server_object = HTTPServer[server_address=['', 80], RequestHandlerClass=CGIHTTPRequestHandler]
0, máy chủ web đã hoạt động

Ảnh chụp màn hình gốc của máy chủ web

Vì vậy, máy chủ web này sẽ cho phép bạn duyệt các tệp từ đường dẫn gốc

Bây giờ, bạn có thể hỏi tại sao tôi cần máy chủ web này? . Nhưng hãy nghĩ xem bạn có thể làm gì với một trình duyệt web? . Bạn sẽ thấy rằng việc điều hướng giữa các thư mục con và mở tệp PDF trong trình duyệt web nhanh hơn nhiều so với sử dụng Windows Explorer và Mac OS Finder

Ảnh chụp màn hình của một thư mục có tệp PDF

Ảnh chụp màn hình của tệp PDF đã mở

Ngoài ra, trong ví dụ này, chúng tôi đang chạy máy chủ web trên máy cục bộ. Nếu bạn có thể chạy tập lệnh Python này trên một máy từ xa, thì bạn đã có một máy chủ chia sẻ tệp rất nhanh

Tóm tắt và Thận trọng

Ảnh của Goh Rhy Yan trên Bapt

Trong bài viết này, tôi đã giới thiệu cách chỉ sử dụng ba dòng mã Python để viết một máy chủ web cho phép bạn duyệt các tệp trên máy chủ

Tuy nhiên, cần lưu ý rằng

# Make sure the server is created at current directory
os.chdir['.']
7 với cách triển khai đơn giản như vậy không thể an toàn. Do đó, vui lòng không chỉ sử dụng ba dòng mã này trong môi trường quan trọng, điều này có thể trở thành lỗ hổng bảo mật có khả năng bị tấn công

Tham gia Medium với liên kết giới thiệu của tôi — Christopher Tao

Là thành viên Phương tiện, một phần phí thành viên của bạn sẽ được chuyển đến các tác giả mà bạn đã đọc và bạn có toàn quyền truy cập vào mọi câu chuyện…

Trung bình. com

Nếu bạn cảm thấy bài viết của tôi hữu ích, hãy cân nhắc tham gia Medium Membership để ủng hộ tôi và hàng ngàn người viết khác. [Nhấp vào liên kết ở trên]

Bạn có thể chạy Python từ một trang web không?

PyScript là một khung web nguồn mở cho phép bạn tạo các ứng dụng web giao diện người dùng bằng Python. Với PyScript, bạn có thể nhúng mã Python vào HTML hoặc liên kết tới tệp Python và mã sẽ thực thi trong trình duyệt — mà không cần chạy Python trong phần phụ trợ

Làm cách nào để sử dụng máy chủ HTTP Python?

Truy cập máy chủ HTTP Python cục bộ . //máy chủ cục bộ. PORT_NUMBER vào trường URL open a browsing window and enter //localhost:PORT_NUMBER into the URL field . Nếu số cổng không được chỉ định trong bước trước, máy chủ sẽ được tìm thấy tại http. //máy chủ cục bộ. 8000. Từ đây, người dùng có thể mở hoặc tải xuống bất kỳ tệp được lưu trữ nào.

Chủ Đề