Python

Cara Menggunakan Python SimpleHTTPServer

Cara Menggunakan Python SimpleHTTPServer

Tugas utama pelayan laman web adalah untuk menangani permintaan HTTP dari klien. Ia menunggu permintaan HTTP yang berasal dari alamat IP dan nombor port tertentu, menangani permintaan tersebut, dan mengirim kembali respons pelanggan. Python menggunakan Pelayan SimpleHTTPS modul untuk membuat pelayan web dengan serta-merta melayani kandungan fail dari pelayan. Ia juga boleh digunakan untuk perkongsian fail. Untuk ini, anda harus mengaktifkan modul ini dengan lokasi fail yang boleh dikongsi. Modul ini dilengkapi dengan jurubahasa Python. Anda tidak perlu memasangnya. Oleh kerana modul ini digabungkan dengan http.pelayan modul dalam python3, jadi anda harus menjalankan http.pelayan untuk menjalankan pelayan laman web di python3. Bagaimana pelayan web dapat digunakan untuk menangani permintaan HTTP dan berbagi file, telah ditunjukkan dalam tutorial ini.

Jalankan Pelayan Web dari terminal

Jalankan arahan berikut untuk menjalankan pelayan web dari terminal. Sekiranya tidak ada nombor port yang ditentukan dalam perintah, pelayan web akan bermula pada 8000 port secara lalai.

$ python3 -m http.pelayan

Output berikut akan muncul jika pelayan web dimulakan dengan betul. CTRL + C ditekan untuk menghentikan pelayan.


Jalankan arahan berikut untuk memulakan pelayan web di port 8080.

$ python3 -m http.pelayan 8080

Output berikut akan muncul jika pelayan web dimulakan di port 8080.

Jalankan Pelayan Web menggunakan skrip Python

Jalankan arahan berikut untuk membuat folder bernama laman web dan pergi ke folder. Semua fail skrip dan fail HTML tutorial ini akan dibuat di dalam folder ini.

$ mkdir web
$ cd web

Buat fail HTML bernama ujianHTML.html di dalam laman web folder dengan skrip berikut. Fail ini akan dihantar dari pelayan laman web kemudian.

ujianHTML.html



<br>Uji Pelayan Web Python<br>



Gambar tidak dijumpai

Tahniah! Pelayan Web anda Berjaya berjalan.


Lawati LinuxHint.com untuk lebih banyak tutorial mengenai Python




Contoh-1: Jalankan pelayan web dalam nombor port tertentu

Buat fail python dengan skrip berikut untuk menjalankan pelayan web di 8008 port. http.pelayan modul telah diimport untuk menjalankan pelayan web, dan SocketServer modul telah diimport untuk menangani permintaan HTTP yang berasal dari port 8080. Objek bernama Penangan telah dibuat untuk menangani permintaan HTTP. selamanya() fungsi dipanggil untuk menjalankan pelayan web. Tidak ada syarat penamatan yang ditambahkan ke skrip. Jadi, skrip akan menghasilkan ralat ketika pengguna cuba menghentikan pelayan.

# Modul pelayan import
import http.pelayan
# Import modul SocketServer
import soket
# Tetapkan nombor port
pelabuhan = 8080
# Buat objek untuk menangani permintaan HTTP
Penangan = http.pelayan.SimpleHTTPRequestHandler
# Jalankan pelayan selama-lamanya untuk menangani permintaan HTTP
dengan soket.TCPServer (("", port), Handler) sebagai httpd:
cetak ("Pelayan Web berjalan di http: // localhost:% s"% port)
httpd.layan_sebelumnya ()

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip di atas.


Senarai fail dan folder lokasi skrip akan ditunjukkan jika URL berikut dijalankan dari penyemak imbas.

http: // localhost: 8080

Sekiranya pengguna menekan CTRL + C dari terminal atau menekan butang berhenti dari editor PyCharm, mesej ralat berikut akan dipaparkan. Masalah ini telah diselesaikan dalam contoh tutorial berikut.

Contoh-2: Jalankan pelayan web dengan nombor port yang ditentukan oleh baris perintah

Buat fail python dengan skrip berikut untuk menjalankan pelayan web di port tertentu jika argumen baris perintah memberikan nombor port; jika tidak, 5000 akan digunakan sebagai port lalai. sys modul telah diimport dalam skrip untuk membaca nilai argumen baris perintah. cuba-kecuali blok telah ditambahkan dalam skrip untuk menangani ralat ketika pengguna cuba menghentikan pelayan.  Sekiranya pengecualian KeyboardInterrupt muncul setelah menjalankan pelayan, maka tutup () fungsi akan dipanggil untuk menghentikan pelayan web.

# Modul pelayan import
import http.pelayan
# Import modul SocketServer
import soket
# Modul sys import
import sys
cuba:
# Tetapkan nombor port
sekiranya sys.argv [1:]:
port = int (sys.argv [1])
lain:
pelabuhan = 5000
# Tetapkan alamat IP
pelayan_address = ('127.0.0.1 ', pelabuhan)
# Buat objek untuk menangani permintaan HTTP
Penangan = http.pelayan.SimpleHTTPRequestHandler
# Jalankan pelayan web selama-lamanya untuk menangani permintaan HTTP
dengan soket.TCPServer (("", port), Handler) sebagai httpd:
cetak ("Pelayan Web berjalan di http: // localhost:% s" port%)
httpd.layan_sebelumnya ()
# Menghentikan pelayan
kecuali KeyboardInterrupt:
httpd.pelayan_tutup ()
cetak ("Pelayan dihentikan.")

Pengeluaran

Output berikut akan muncul setelah melaksanakan skrip di atas tanpa nilai argumen baris perintah.

Output berikut akan muncul jika jalankan file HTML yang dibuat pada langkah sebelumnya dari pelayan web.

Buka kotak dialog konfigurasi dari menu Jalankan editor PyCharm untuk menetapkan nilai argumen baris perintah. Medan parameter digunakan untuk menetapkan argumen baris perintah, dan 3000 ditetapkan di sini sebagai nilai argumen.

Output berikut akan muncul jika anda menjalankan skrip sekali lagi setelah menetapkan nilai argumen.

Contoh-3: Jalankan pelayan web dengan fail HTML

Buat fail python dengan skrip berikut untuk menjalankan pelayan web dengan menentukan fail HTML untuk URL asas. Nama host dan nombor port telah ditentukan pada awal skrip. PythonServer kelas telah ditentukan dalam skrip untuk memaparkan fail HTML di penyemak imbas ketika pelayan web mula berjalan.

# Import modul pelayan
import http.pelayan
# Tetapkan nama hos
HOST = "localhost"
# Tetapkan nombor port
PELABUHAN = 4000
# Tentukan kelas untuk memaparkan halaman indeks pelayan web
kelas PythonServer (http.pelayan.SimpleHTTPRequestHandler):
def do_GET (diri):
sekiranya diri.jalan == '/':
diri.jalan = 'ujianHTML.html '
kembalikan http.pelayan.SimpleHTTPRequestHandler.buat_GET (diri)
# Menyatakan objek kelas
Pelayan web = http.pelayan.HTTPServer ((HOST, PORT), PythonServer)
# Cetak URL pelayan laman web
cetak ("Pelayan dimulakan http: //% s:% s"% (HOST, PORT))
cuba:
# Jalankan pelayan web
Pelayan web.layan_sebelumnya ()
kecuali KeyboardInterrupt:
# Hentikan pelayan web
Pelayan web.pelayan_tutup ()
cetak ("Pelayan dihentikan.")

Pengeluaran

Output berikut akan muncul melaksanakan skrip di atas.

Halaman berikut akan muncul di penyemak imbas jika URL pangkalan penyemak imbas dijalankan.

Kesimpulannya

Kaedah yang berbeza untuk melaksanakan pelayan web dengan menggunakan http. pelayan modul telah ditunjukkan dalam tutorial ini untuk membantu pengguna python untuk membuat pelayan web mudah di Python.

Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...