Cara Menggunakan Python SimpleHTTPServer

How Use Python Simplehttpserver



Tugas utama webserver adalah menangani permintaan HTTP dari klien. Itu menunggu permintaan HTTP yang datang dari alamat IP dan nomor port tertentu, menangani permintaan, dan mengirimkan respons klien kembali. Python menggunakan ServerHTTP Sederhana modul untuk membuat server web secara instan dan mudah menyajikan konten file dari server. Ini dapat digunakan untuk berbagi file juga. Untuk ini, Anda harus mengaktifkan modul ini dengan lokasi file yang dapat dibagikan. Modul ini dilengkapi dengan interpreter Python. Anda tidak perlu menginstalnya. Karena modul ini digabungkan dengan http.server modul di python3, jadi Anda harus menjalankan http.server untuk menjalankan server web di python3. Bagaimana server web dapat digunakan untuk menangani permintaan HTTP dan berbagi file, telah ditunjukkan dalam tutorial ini.

Jalankan Server Web dari terminal

Jalankan perintah berikut untuk menjalankan server web dari terminal. Jika tidak ada nomor port yang ditentukan dalam perintah, server web akan mulai pada port 8000 secara default.







$ python3 -m http.server



Output berikut akan muncul jika server web dijalankan dengan benar. CTRL+C ditekan untuk menghentikan server.




Jalankan perintah berikut untuk memulai server web pada port 8080.





$ python3 -m http.server 8080

Output berikut akan muncul jika server web dimulai pada port 8080.



Jalankan Server Web menggunakan skrip Python

Jalankan perintah berikut untuk membuat folder bernama Web dan pergi ke folder. Semua file skrip dan file HTML dari tutorial ini akan dibuat di dalam folder ini.

$mkdir web

$CDWeb

Buat file HTML bernama testHTML.html di dalam Web folder dengan skrip berikut. File ini akan disajikan dari server web nanti.

testHTML.html

< html >

< kepala >

< judul >

Uji Server Web Python

</ judul >

</ kepala >

< tubuh >

< Tengah >

< gambar src='logo.jpeg' semuanya='Gambar tidak ditemukan'/>

< h2 gaya='warna: hijau'>Selamat! Server Web Anda Berhasil berjalan.</ h2 >

< P >Mengunjungi< ke href='www.linuxhint.com'>LinuxHint.com</ ke >untuk lebih banyak tutorial tentang Python</ P >

</ Tengah >

</ tubuh >

</ html >

Contoh-1: Jalankan server web di nomor port tertentu

Buat file python dengan skrip berikut untuk menjalankan server web pada port 8008. http.server modul telah diimpor untuk menjalankan server web, dan SocketServer modul telah diimpor untuk menangani permintaan HTTP yang berasal dari port 8080. Sebuah objek bernama Pawang telah dibuat untuk menangani permintaan HTTP. selama-lamanya() fungsi dipanggil untuk menjalankan server web. Tidak ada kondisi penghentian yang ditambahkan ke skrip. Jadi, skrip akan menghasilkan kesalahan ketika pengguna mencoba menghentikan server.

# Impor modul server

imporhttp.server

# Impor modul SocketServer

imporserver soket


# Atur nomor port

Pelabuhan= 8080

# Buat objek untuk menangani permintaan HTTP

Pawang=http.server.SimpleHTTPRequestHandler


# Jalankan server selamanya untuk menangani permintaan HTTP

denganserver soket.TCPServer(('',Pelabuhan),Pawang) sebagaihttp:

mencetak('Server Web berjalan di http://localhost:%s'%Pelabuhan)

httpd.layani_selamanya()

Keluaran

Output berikut akan muncul setelah menjalankan skrip di atas.


Daftar file dan folder lokasi skrip akan ditampilkan jika URL berikut dijalankan dari browser.

http://localhost:8080

Jika pengguna menekan CTRL+C dari terminal atau menekan tombol stop dari editor PyCharm, pesan kesalahan berikut akan ditampilkan. Masalah ini telah dipecahkan dalam contoh berikutnya dari tutorial ini.

Contoh-2: Jalankan server web dengan nomor port yang ditentukan oleh baris perintah

Buat file python dengan skrip berikut untuk menjalankan server web di port tertentu jika argumen baris perintah memberikan nomor port; jika tidak, 5000 akan digunakan sebagai port default. sistem modul telah diimpor dalam skrip untuk membaca nilai argumen baris perintah. coba-kecuali blok telah ditambahkan dalam skrip untuk menangani kesalahan saat pengguna mencoba menghentikan server. Jika pengecualian KeyboardInterrupt muncul setelah menjalankan server, maka Menutup() fungsi akan dipanggil untuk menghentikan server web.

# Impor modul server

imporhttp.server

# Impor modul SocketServer

imporserver soket

# Impor modul sistem

impor sistem


mencoba:

# Atur nomor port

jika sistem.argv[1:]:

Pelabuhan= ke dalam(sistem.argv[1])

lain:

Pelabuhan= 5000

# Tetapkan alamat IP

alamat server= ('127.0.0.1',Pelabuhan)

# Buat objek untuk menangani permintaan HTTP

Pawang=http.server.SimpleHTTPRequestHandler


# Jalankan server web selamanya untuk menangani permintaan HTTP

denganserver soket.TCPServer(('',Pelabuhan),Pawang) sebagaihttp:

mencetak('Server Web berjalan di http://localhost:%s'%Pelabuhan)

httpd.layani_selamanya()

# Menghentikan server

kecuali KeyboardInterupsi:

httpd.server_close()

mencetak('Server dihentikan.')

Keluaran

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

Output berikut akan muncul jika menjalankan file HTML yang dibuat pada langkah sebelumnya dari server web.

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

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

Contoh-3: Jalankan server web dengan file HTML

Buat file python dengan skrip berikut untuk menjalankan server web dengan mendefinisikan file HTML untuk URL dasar. Nama host dan nomor port telah ditentukan di awal skrip. PythonServer class telah didefinisikan dalam skrip untuk menampilkan file HTML di browser saat server web mulai berjalan.

# Impor modul server

imporhttp.server


# Tetapkan nama host

TUAN RUMAH= 'localhost'

# Atur nomor port

PELABUHAN= 4000


# Tentukan kelas untuk menampilkan halaman indeks server web

kelasPythonServer(http.server.SimpleHTTPRequestHandler):

deflakukan_GET(diri sendiri):

jika diri sendiri.jalur == '/':

diri sendiri.jalur = 'testHTML.html'

kembalihttp.server.SimpleHTTPRequestHandler.lakukan_GET(diri sendiri)


# Deklarasikan objek kelas

server web=http.server.HTTPServer((TUAN RUMAH,PELABUHAN),PythonServer)


# Cetak URL server web

mencetak('Server dimulai http://%s:%s'%(TUAN RUMAH,PELABUHAN))


mencoba:

# Jalankan server web

server web.layani_selamanya()

kecuali KeyboardInterupsi:

# Hentikan server web

server web.server_close()

mencetak('Server dihentikan.')

Keluaran

Output berikut akan muncul mengeksekusi skrip di atas.

Halaman berikut akan muncul di browser jika URL dasar browser dari server web dijalankan.

Kesimpulan

Berbagai cara mengimplementasikan server web dengan menggunakan http. server Modul telah ditampilkan dalam tutorial ini untuk membantu pengguna python membuat server web sederhana dengan Python.