Python có thể chạy trực tiếp trên HTTP không?

Tôi là nhà nghiên cứu và phát triển web tự do đến từ Malawi. Tôi thích học những điều mới và việc viết lách giúp tôi hiểu và củng cố các khái niệm. Tôi hy vọng bằng cách chia sẻ kinh nghiệm của mình, những người khác có thể học được điều gì đó từ họ

Bài viết này giải thích cách thiết lập một máy chủ thử nghiệm cục bộ đơn giản trên máy của bạn và những điều cơ bản về cách sử dụng nó

điều kiện tiên quyết. Trước tiên bạn cần biết Internet hoạt động như thế nào và máy chủ Web là gì. Khách quan. Bạn sẽ tìm hiểu cách thiết lập máy chủ thử nghiệm cục bộ

Tệp cục bộ so với. tập tin từ xa

Trong hầu hết khu vực học tập, chúng tôi yêu cầu bạn chỉ cần mở trực tiếp các ví dụ của mình trong trình duyệt — điều này có thể được thực hiện bằng cách nhấp đúp vào tệp HTML, kéo và thả tệp đó vào cửa sổ trình duyệt hoặc chọn Tệp > Mở… và điều hướng đến . Có nhiều cách để đạt được điều này

Nếu đường dẫn địa chỉ web bắt đầu bằng file://, sau đó là đường dẫn đến tệp trên ổ cứng cục bộ của bạn, thì tệp cục bộ đang được sử dụng. Ngược lại, nếu bạn xem một trong các ví dụ của chúng tôi được lưu trữ trên GitHub (hoặc một ví dụ trên một số máy chủ từ xa khác), địa chỉ web sẽ bắt đầu bằng // hoặc # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 0, để cho biết rằng tệp đã được nhận qua HTTP

Sự cố với việc kiểm tra các tệp cục bộ

Một số ví dụ sẽ không chạy nếu bạn mở chúng dưới dạng tệp cục bộ. Điều này có thể là do nhiều lý do, rất có thể là

  • Chúng có các yêu cầu không đồng bộ. Một số trình duyệt (bao gồm cả Chrome) sẽ không chạy yêu cầu không đồng bộ (xem Tìm nạp dữ liệu từ máy chủ) nếu bạn chỉ chạy ví dụ từ tệp cục bộ. Điều này là do các hạn chế về bảo mật (để biết thêm về bảo mật web, hãy đọc Bảo mật trang web)
  • Chúng có ngôn ngữ phía máy chủ. Các ngôn ngữ phía máy chủ (chẳng hạn như PHP hoặc Python) yêu cầu một máy chủ đặc biệt để diễn giải mã và cung cấp kết quả
  • Chúng bao gồm các tệp khác. Các trình duyệt thường coi các yêu cầu tải tài nguyên bằng cách sử dụng lược đồ file:// là các yêu cầu có nguồn gốc chéo. Vì vậy, nếu bạn tải một tệp cục bộ bao gồm các tệp cục bộ khác, điều này có thể gây ra lỗi CORS

Chạy một máy chủ HTTP cục bộ đơn giản

Để giải quyết vấn đề về yêu cầu không đồng bộ, chúng tôi cần kiểm tra các ví dụ như vậy bằng cách chạy chúng thông qua máy chủ web cục bộ. Một trong những cách dễ nhất để làm điều này cho mục đích của chúng tôi là sử dụng mô-đun # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 2 của Python

Ghi chú. Các phiên bản cũ hơn của Python (lên đến phiên bản 2. 7) cung cấp một mô-đun tương tự có tên là # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 3. Nếu bạn đang sử dụng Python 2. x, bạn có thể làm theo hướng dẫn này bằng cách thay thế tất cả các cách sử dụng của # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 2 bằng # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 3. Tuy nhiên, chúng tôi khuyên bạn nên sử dụng phiên bản Python mới nhất

Để làm điều này

  1. Cài đặt Python. Nếu bạn đang sử dụng Linux hoặc macOS, nó sẽ có sẵn trên hệ thống của bạn. Nếu bạn là người dùng Windows, bạn có thể tải bộ cài đặt từ trang chủ Python và làm theo hướng dẫn để cài đặt nó
    • Chuyển đến con trăn. tổ chức
    • Trong phần Tải xuống, nhấp vào liên kết dành cho Python "3. xxx"
    • Ở cuối trang, nhấp vào liên kết Windows Installer để tải xuống tệp cài đặt
    • Khi nó đã được tải xuống, hãy chạy nó
    • Trên trang trình cài đặt đầu tiên, đảm bảo bạn đã kiểm tra "Thêm Python 3. hộp kiểm từ xxx đến PATH"
    • Nhấp vào Cài đặt, sau đó nhấp vào Đóng khi quá trình cài đặt kết thúc
  2. Mở dấu nhắc lệnh của bạn (Windows)/thiết bị đầu cuối (macOS/Linux). Để kiểm tra xem Python đã được cài đặt chưa, hãy nhập lệnh sau

    python -V # If the above fails, try: python3 -V # Or, if the "py" command is available, try: py -V

  3. Điều này sẽ trả về một số phiên bản. Nếu điều này ổn, hãy điều hướng đến thư mục chứa ví dụ của bạn bên trong, sử dụng lệnh # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 2

    # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd ..

  4. Nhập lệnh để khởi động máy chủ trong thư mục đó

    # If Python version returned above is 3.X # On Windows, try "python -m http.server" or "py -3 -m http.server" python3 -m http.server # If Python version returned above is 2.X python -m SimpleHTTPServer

  5. Theo mặc định, điều này sẽ chạy nội dung của thư mục trên máy chủ web cục bộ, trên cổng 8000. Bạn có thể truy cập máy chủ này bằng cách truy cập URL # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 3 trong trình duyệt web của mình. Tại đây, bạn sẽ thấy nội dung của thư mục được liệt kê — nhấp vào tệp HTML bạn muốn chạy

Ghi chú. Nếu bạn đã có thứ gì đó chạy trên cổng 8000, bạn có thể chọn một cổng khác bằng cách chạy lệnh máy chủ, sau đó là số cổng thay thế, e. g. # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 4 (Trăn 3. x) hoặc # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 5 (Python 2. x). Sau đó, bạn có thể truy cập nội dung của mình tại # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 6

Chạy các ngôn ngữ phía máy chủ cục bộ

Mô-đun # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 2 (hoặc # include the directory name to enter it, for example cd Desktop # use two dots to jump up one directory level if you need to cd .. 3 cho Python 2) của Python rất hữu ích, nhưng nó chỉ là một máy chủ tệp tĩnh; . Để xử lý chúng, bạn sẽ cần thêm thứ gì đó — chính xác thứ bạn cần phụ thuộc vào ngôn ngữ phía máy chủ mà bạn đang cố chạy. Đây là vài ví dụ

Python có máy chủ HTTP không?

Python đi kèm với một mô-đun tích hợp được gọi là SimpleHTTPServer , nói cách khác là một máy chủ HTTP đơn giản cung cấp cho bạn các trình xử lý yêu cầu GET và HEAD tiêu chuẩn. Mô-đun này có thể biến bất kỳ thư mục nào trong hệ thống của bạn thành máy chủ web.

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

Để chạy máy chủ. .
Mở một cửa sổ đầu cuối
Điều hướng đến thư mục bạn muốn có thư mục gốc
Thực hiện lệnh để khởi động máy chủ
Python 2 — python -m SimpleHTTPServer 8000
Python 3 — python -m http. máy chủ 8000

Tập lệnh Python có thể chạy trên trang web không?

Có thể chạy Python trong một trang web (ở phía máy khách) bằng cách sử dụng các khung như Pajamas và Skulpt . Nếu thực thi python phía CGI/máy chủ không phải là thứ bạn đang tìm kiếm, hãy xem. skulpt. org - điều này dường như để thực thi python trong trình duyệt.

Máy chủ HTTP Python có an toàn không?

Cảnh báo http. máy chủ không được khuyến nghị sản xuất . Nó chỉ thực hiện kiểm tra bảo mật cơ bản. Nó không nêu rõ những lỗ hổng bảo mật mà máy chủ gặp phải.

Chủ đề