Gereksinimler: Bazı üçüncü parti araçlar python scriptleridir, ben C# geliştirme yapıyorum, python'da yetkin değilim, python kodunu C# koduna çevirirseniz çok zor, python kullanarak bir HTTP servisi açmak daha iyidir, ben interface two'yu çağırıyorum ve sonunda python'u kendisi çalıştırıp dahili kodunu çalıştırmak daha iyidir.
HTTPServer, socketserver.TCPServer'in bir alt sınıfıdır. HTTP soketleri oluşturup işleyicilere istekleri göndermek için dinler.
Belge:Bağlantı girişi görünür.
İpucu: http.serverÜretim için önerilmiyor。 Sadece temel güvenlik kontrollerini uygular.
Kod şöyledir:
Python kullanarak 10254 portunu dinleyin, HTTP servisini etkinleştirin ve URL'ye erişmeye çalışın, aşağıdaki şekilde gösterilmiştir:
Ancak testler, edge tarayıcıyı birden fazla kez kullandığımda, bazen her zaman erişilebilirBeklemeYerel bağlantıdan telnet ve port 10254 üzerinden kurduktan sonra, HTTP servisinin hem sunucudan hem de yerel bağlantıdan erişilemediğini fark ettim, aşağıdaki resimde gösterildiği gibi,20 dakika boyunca cevap yok, ve sonunda sadece tekrar talep edebildim:
Başta, sorunun "İçerik Uzunluğu" ayarının olmaması olduğunu düşündüm, bu yüzden tarayıcı kaç bayt içerik okunacağını bilmiyordu ve okumanın ne zaman tamamlandığını bilmiyordum, ama yanıt başlığından sonra sorun hâlâ çözülmemişti.
Varsayılan tek iş parçacıklı olabilir mi, aynı anda yalnızca bir istemciye erişim sağlayabilir?
Dokümantasyona baktığımda, ThreadingHTTPServer sınıfı olduğunu gördüm; bu sınıf iş parçacıklarını iplikler kullanarak isteği işleyerek ve kod şu şekilde değiştirilir:
Sorun çözüldü, bitti.
|