piton

Python SimpleHTTPServer Nasıl Kullanılır

Python SimpleHTTPServer Nasıl Kullanılır

Web sunucusunun ana görevi, istemciden gelen HTTP isteklerini ele almaktır. Belirli IP adresinden ve port numarasından gelen HTTP isteklerini bekler, talebi işler ve müşterinin yanıtını geri gönderir. Python kullanır SimpleHTTPSunucusu sunucudan dosya içeriğini anında ve kolayca sunmak için bir web sunucusu oluşturmak için modül. Dosya paylaşımı için de kullanılabilir. Bunun için paylaşılabilir dosyaların konumu ile bu modülü etkinleştirmeniz gerekir. Bu modül Python yorumlayıcısıyla birlikte gelir. yüklemenize gerek yok. Bu modül ile birleştirildiğinden http.sunucu python3'teki modül, bu yüzden çalıştırmanız gerekiyor http.sunucu web sunucusunu python3'te çalıştırmak için. HTTP isteğini işlemek ve dosyaları paylaşmak için web sunucusunun nasıl kullanılabileceği bu eğitimde gösterilmiştir.

Web Sunucusunu terminalden çalıştırın

Web sunucusunu terminalden çalıştırmak için aşağıdaki komutu çalıştırın. Komutta hiçbir bağlantı noktası numarası tanımlanmamışsa, web sunucusu varsayılan olarak 8000 bağlantı noktasında başlayacaktır.

$ python3 -m http.sunucu

Web sunucusu düzgün bir şekilde başlatılırsa aşağıdaki çıktı görünecektir. Sunucuyu durdurmak için CTRL+C'ye basılır.


Web sunucusunu 8080 bağlantı noktasında başlatmak için aşağıdaki komutu çalıştırın.

$ python3 -m http.sunucu 8080

Web sunucusu 8080 bağlantı noktasında başlatılırsa aşağıdaki çıktı görünecektir.

Python betiğini kullanarak Web Sunucusunu çalıştırın

adlı bir klasör oluşturmak için aşağıdaki komutları çalıştırın ve klasöre git. Bu öğreticinin tüm komut dosyaları ve HTML dosyaları bu klasörün içinde oluşturulacaktır.

$ mkdir web
$ cd ağı

adlı bir HTML dosyası oluşturun testHTML.html içinde aşağıdaki komut dosyasına sahip klasör. Bu dosya daha sonra web sunucusundan sunulacak.

testHTML.html



<br>Python Web Sunucusunu Test Edin<br>



Resim bulunamadı

tebrikler! Web Sunucunuz Başarıyla Çalışıyor.


Ziyaret etmek Linuxİpucu.com Python hakkında daha fazla eğitim için




Örnek-1: Web sunucusunu belirli bağlantı noktası numarasında çalıştırın

Web sunucusunu 8008 bağlantı noktasında çalıştırmak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. http.sunucu modül, web sunucusunu çalıştırmak için içe aktarıldı ve SocketSunucu 8080 bağlantı noktasından gelen HTTP isteğini işlemek için modül içe aktarıldı. adlı bir nesne işleyici HTTP isteklerini işlemek için oluşturuldu. sonsuza dek() web sunucusunu çalıştırmak için işlev çağrılır. Komut dosyasına herhangi bir sonlandırma koşulu eklenmedi. Bu nedenle, kullanıcı sunucuyu durdurmaya çalıştığında komut dosyası bir hata üretecektir.

# Sunucu modülünü içe aktar
http'yi içe aktar.sunucu
# SocketServer modülünü içe aktar
soket sunucusunu içe aktar
# Bağlantı noktası numarasını ayarlayın
bağlantı noktası = 8080
# HTTP isteklerini işlemek için nesne oluştur
İşleyici = http.sunucu.SimpleHTTPRequestHandler
# HTTP isteklerini işlemek için sunucuyu sonsuza kadar çalıştırın
soket sunucusu ile.httpd olarak TCPServer(("", port), Handler):
print("Web Sunucusu http://localhost:%s" %portta çalışıyor)
httpd.sonsuza kadar hizmet et()

Çıktı

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir.


Aşağıdaki URL tarayıcıdan yürütülürse, komut dosyası konumunun dosya ve klasörlerinin listesi gösterilecektir.

http://localhost:8080

Kullanıcı terminalden CTRL+C'ye basarsa veya PyCharm editöründen stop düğmesine basarsa, aşağıdaki hata mesajı görüntülenecektir. Bu sorun, bu öğreticinin sonraki örneğinde çözüldü.

Örnek-2: Web sunucusunu komut satırı tarafından tanımlanan bağlantı noktası numarasıyla çalıştırın

Komut satırı bağımsız değişkeni bağlantı noktası numarasını veriyorsa, belirli bağlantı noktasında bir web sunucusunu çalıştırmak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun; aksi takdirde, varsayılan bağlantı noktası olarak 5000 kullanılacaktır. sistem modül, komut satırı bağımsız değişken değerlerini okumak için komut dosyasına aktarıldı. dene-hariç kullanıcı sunucuyu durdurmaya çalıştığında hatayı işlemek için komut dosyasına blok eklendi.  Sunucuyu çalıştırdıktan sonra KeyboardInterrupt istisnası görünürse, o zaman kapat() web sunucusunu durdurmak için işlev çağrılacak.

# Sunucu modülünü içe aktar
http'yi içe aktar.sunucu
# SocketServer modülünü içe aktar
soket sunucusunu içe aktar
# Sistem modülünü içe aktar
ithalat sistemi
Deneyin:
# Bağlantı noktası numarasını ayarlayın
eğer sistem.argv[1:]:
bağlantı noktası = int(sys.argv[1])
Başka:
bağlantı noktası = 5000
# IP adresini ayarlayın
server_address = ('127.0.0.1', bağlantı noktası)
# HTTP isteklerini işlemek için nesne oluştur
İşleyici = http.sunucu.SimpleHTTPRequestHandler
# HTTP isteklerini işlemek için web sunucusunu sonsuza kadar çalıştırın
soket sunucusu ile.httpd olarak TCPServer(("", port), Handler):
print("Web Sunucusu http://localhost:%s" %portta çalışıyor)
httpd.sonsuza kadar hizmet et()
# Sunucuyu durdurdu
KeyboardInterrupt hariç:
httpd.server_close()
print("Sunucu durduruldu.")

Çıktı

Yukarıdaki betiği komut satırı argüman değeri olmadan yürüttükten sonra aşağıdaki çıktı görünecektir.

Önceki adımda oluşturulan HTML dosyasını web sunucusundan çalıştırırsanız aşağıdaki çıktı görünecektir.

Komut satırı bağımsız değişken değerini ayarlamak için PyCharm düzenleyicisinin Çalıştır menüsünden yapılandırma iletişim kutusunu açın. Parametreler alanı komut satırı argümanını ayarlamak için kullanılır ve 3000 burada argüman değeri olarak ayarlanır.

Argüman değerini ayarladıktan sonra betiği tekrar çalıştırırsanız aşağıdaki çıktı görünecektir.

Örnek-3: Web sunucusunu HTML dosyasıyla çalıştırın

Temel URL için HTML dosyasını tanımlayarak web sunucusunu çalıştırmak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. Ana bilgisayar adı ve bağlantı noktası numarası, komut dosyasının başında tanımlanmıştır. PythonSunucusu sınıf, web sunucusu çalışmaya başladığında tarayıcıda HTML dosyasını görüntülemek için komut dosyasında tanımlamıştır.

# Sunucu modülünü içe aktarın
http'yi içe aktar.sunucu
# Ana bilgisayar adını ayarlayın
HOST = "yerel ana bilgisayar"
# Bağlantı noktası numarasını ayarlayın
PORT = 4000
# Web sunucusunun dizin sayfasını görüntülemek için sınıfı tanımlayın
sınıf PythonSunucusu(http.sunucu.SimpleHTTPRequestHandler):
def do_GET(kendi kendine):
eğer kendini.yol == '/':
öz.yol = 'testHTML.html'
http'yi döndür.sunucu.SimpleHTTPRequestHandler.do_GET(kendi)
# Sınıfın nesnesini bildir
web sunucusu = http.sunucu.HTTPSunucusu((HOST, PORT), PythonSunucusu)
# Web sunucusunun URL'sini yazdırın
print("Sunucu http://%s:%s başlattı" % (HOST, PORT))
Deneyin:
# Web sunucusunu çalıştırın
Web sunucusu.sonsuza kadar hizmet et()
KeyboardInterrupt hariç:
# Web sunucusunu durdur
Web sunucusu.server_close()
print("Sunucu durduruldu.")

Çıktı

Yukarıdaki komut dosyasını yürütürken aşağıdaki çıktı görünecektir.

Tarayıcının web sunucusunun temel URL'si yürütülürse, aşağıdaki sayfa tarayıcıda görünecektir.

Sonuç

kullanarak web sunucularını uygulamanın farklı yolları http. sunucu modülü, python kullanıcılarının Python'da basit bir web sunucusu oluşturmasına yardımcı olmak için bu eğitimde gösterilmiştir.

En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...
Ubuntu'da Oynanacak En İyi 10 Oyun
Windows platformu, günümüzde doğal olarak Windows'u desteklemek için geliştirilen oyunların büyük bir yüzdesi nedeniyle oyun oynamak için hakim platfo...
Linux için En İyi 5 Arcade Oyunu
Günümüzde bilgisayarlar oyun oynamak için kullanılan ciddi makinelerdir. Yeni yüksek puanı alamazsan, ne demek istediğimi anlayacaksın. Bu yazıda, bug...