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.
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
Uji Server Web Python
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 serverimpor 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:.
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 serverimpor 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 serverimpor 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.