Cara Menggunakan Python SimpleHTTPServer

How Use 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 mengirimkan respons pelanggan kembali. Python menggunakan Pelayan SimpleHTTPS modul untuk membuat pelayan web dengan serta-merta melayani kandungan fail dari pelayan. Ia juga boleh digunakan untuk berkongsi 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.server modul dalam python3, jadi anda harus menjalankan http.server untuk menjalankan pelayan web di python3. Bagaimana pelayan web dapat digunakan untuk menangani permintaan HTTP dan berbagi fail, 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 Web dan pergi ke folder. Semua fail skrip dan fail HTML tutorial ini akan dibuat di dalam folder ini.

$ mkdir web

$CDWeb

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

ujiHTML.html

< html >

< kepala >

< tajuk >

Uji Pelayan Web Python

</ tajuk >

</ kepala >

< badan >

< pusat >

< img src='logo.jpeg' semuanya='Gambar tidak dijumpai'/>

< h2 gaya='warna: hijau'>Tahniah! Pelayan Web anda Berjaya berjalan.</ h2 >

< hlm >Lawati< ke href='www.linuxhint.com'>LinuxHint.com</ ke >untuk lebih banyak tutorial mengenai Python</ hlm >

</ pusat >

</ badan >

</ html >

Contoh-1: Jalankan pelayan web dalam nombor port tertentu

Buat fail python dengan skrip berikut untuk menjalankan pelayan web di 8008 port. http.server modul telah diimport untuk menjalankan pelayan web, dan Pelayan Socket modul telah diimport untuk menangani permintaan HTTP yang berasal dari port 8080. Objek yang dinamakan 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

mengimporthttp.pelayan

# Import modul SocketServer

mengimportpenyedia soket


# Tetapkan nombor port

pelabuhan= 8080

# Buat objek untuk menangani permintaan HTTP

Penangan=http.pelayan.SimpleHTTPRequestHandler


# Jalankan pelayan selama-lamanya untuk menangani permintaan HTTP

denganpenyedia soket.Pelayan TCPS(('',pelabuhan),Penangan) sebagaihttpd:

mencetak('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 ini yang seterusnya.

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

mengimporthttp.pelayan

# Import modul SocketServer

mengimportpenyedia soket

# Modul sys import

mengimport sys


cuba:

# Tetapkan nombor port

sekiranya sys.berhujah[1:]:

pelabuhan= int(sys.berhujah[1])

yang lain:

pelabuhan= 5000

# Tetapkan alamat IP

pelayan_ alamat= ('127.0.0.1',pelabuhan)

# Buat objek untuk menangani permintaan HTTP

Penangan=http.pelayan.SimpleHTTPRequestHandler


# Jalankan pelayan web selama-lamanya untuk menangani permintaan HTTP

denganpenyedia soket.Pelayan TCPS(('',pelabuhan),Penangan) sebagaihttpd:

mencetak('Pelayan Web berjalan di http: // localhost:% s'% port)

httpd.layan_sebelumnya()

# Menghentikan pelayan

kecuali Papan Kekunci Terganggu:

httpd.pelayan_tutup()

mencetak('Pelayan dihentikan.')

Pengeluaran

Output berikut akan muncul setelah menjalankan 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

mengimporthttp.pelayan


# Tetapkan nama hos

HOST= 'localhost'

# Tetapkan nombor port

PELABUHAN= 4000


# Tentukan kelas untuk memaparkan halaman indeks pelayan web

kelasPythonServer(http.pelayan.SimpleHTTPRequestHandler):

defbuat_GET(diri):

sekiranya diri.jalan == '/':

diri.jalan = 'ujianHTML.html'

kembalihttp.pelayan.SimpleHTTPRequestHandler.buat_GET(diri)


# Menyatakan objek kelas

Pelayan web=http.pelayan.Pelayan HTTPS((HOST,PELABUHAN),PythonServer)


# Cetak URL pelayan laman web

mencetak('Pelayan memulakan http: //% s:% s'%(HOST,PELABUHAN))


cuba:

# Jalankan pelayan web

Pelayan web.layan_sebelumnya()

kecuali Papan Kekunci Terganggu:

# Hentikan pelayan web

Pelayan web.pelayan_tutup()

mencetak('Pelayan dihentikan.')

Pengeluaran

Output berikut akan muncul melaksanakan skrip di atas.

Halaman berikut akan muncul di penyemak imbas jika URL asas penyemak imbas pelayan 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.