Python

Cara Menggunakan Python SimpleHTTPServer

Cara Menggunakan Python SimpleHTTPServer

Tugas utama server web 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. Itu 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 dengan 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 jaring dan pergi ke folder. Semua file skrip dan file HTML dari tutorial ini akan dibuat di dalam folder ini.

$mkdir web
$cd web

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

tesHTML.html



<br>Uji Server Web Python<br>



Gambar tidak ditemukan

Selamat! Server Web Anda Berhasil Berjalan.


Mengunjungi LinuxPetunjuk.com untuk lebih banyak tutorial tentang Python




Contoh-1: Jalankan server web di nomor port tertentu

Buat file python dengan skrip berikut untuk menjalankan server web di 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
impor http.server
# Impor modul SocketServer
impor socketserver
# Atur nomor port port
pelabuhan = 8080
# Buat objek untuk menangani permintaan HTTP
Pengendali = http.server.SimpleHTTPRequestHandler
# Jalankan server selamanya untuk menangani permintaan HTTP
dengan socketserver.TCPServer(("", port), Handler) sebagai httpd:
print("Server Web berjalan di http://localhost:%s" %port)
httpd.melayani_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 ketika pengguna mencoba menghentikan server.  Jika pengecualian KeyboardInterrupt muncul setelah menjalankan server, maka Menutup() fungsi akan dipanggil untuk menghentikan server web.

# Impor modul server
impor http.server
# Impor modul SocketServer
impor socketserver
# Impor modul sistem
sistem impor
mencoba:
# Atur nomor port port
jika sys.argv[1:]:
port = int(sys.argv[1])
lain:
pelabuhan = 5000
# Tetapkan alamat IP
alamat_server = ('127.0.0.1', pelabuhan)
# Buat objek untuk menangani permintaan HTTP
Pengendali = http.server.SimpleHTTPRequestHandler
# Jalankan server web selamanya untuk menangani permintaan HTTP
dengan socketserver.TCPServer(("", port), Handler) sebagai httpd:
print("Server Web berjalan di http://localhost:%s" %port)
httpd.melayani_selamanya()
# Menghentikan server
kecuali KeyboardInterrupt:
httpd.server_close()
print("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 Run editor PyCharm untuk mengatur nilai argumen baris perintah command. 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
impor http.server
# Tetapkan nama host
HOST = "host lokal"
# Atur nomor port port
PELABUHAN = 4000
# Tentukan kelas untuk menampilkan halaman indeks server web
kelas PythonServer (http.server.SimpleHTTPRequestHandler):
def do_GET(sendiri):
jika diri sendiri.jalur == '/':
diri.path = 'testHTML.html'
kembali http.server.SimpleHTTPRequestHandler.lakukan_GET(sendiri)
# Deklarasikan objek kelas
webServer = http.server.HTTPServer ((HOST, PORT), PythonServer)
# Cetak URL server web
print("Server dimulai http://%s:%s" % (HOST, PORT))
mencoba:
# Jalankan server web
server web.melayani_selamanya()
kecuali KeyboardInterrupt:
# Hentikan server web
server web.server_close()
print("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.

Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...