Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12121|Odpowiedź: 0

[Źródło] Python używa http.server do otwarcia usługi http

[Skopiuj link]
Opublikowano 02.12.2020 15:55:03 | | | |
Wymagania: Niektóre narzędzia firm trzecich to skrypty Pythona, sam tworzę C#, nie jestem biegły w samym Pythonie, jeśli przetłumaczysz kod pythona na C#, jest to bardzo trudne, lepiej użyć Pythona do otwarcia usługi http, nazywam interfejs dwa, a na końcu uruchomić sam Python, aby uruchomić jego wewnętrzny kod.

HTTPServer to podklasa socketserver.TCPServer. Tworzy i nasłuchuje gniazd HTTP, aby wysyłać żądania do obsługiwaczy.

Dokumentacja:Logowanie do linku jest widoczne.

Wskazówka: http.serverNie zalecane do produkcji。 Implementuje jedynie podstawowe kontrole bezpieczeństwa.

Kod jest następujący:


Użyj Pythona, aby nasłuchiwać portu 10254, włączyć usługę HTTP i spróbować uzyskać dostęp do URL, jak pokazano na poniższym rysunku:



Testy są jednak dostępne, gdy używam przeglądarki edge do wielokrotnego dostępu, czasem zawszeW trakcie oczekiwaniapo nawiązaniu połączenia z natywnym serwerem przez telnet i port 10254, okazało się, że usługa http nie jest dostępna zarówno z serwera, jak i lokalnie, jak pokazano na poniższym obrazku,Brak odpowiedzi przez 20 minut, i ostatecznie mogłem tylko ponownie poprosić:


Na początku myślałem, że problem polega na braku ustawienia "Content-Length", przez co przeglądarka nie wie, ile bajtów treści ma przeczytać, i nie wiedziałem, kiedy odczyt został zakończony, ale po nagłówku odpowiedzi problem nadal nie został rozwiązany.

Czy to możliwe, że domyślna jest jednowątkowa, pozwalając tylko jednemu klientowi na dostęp w danym momencie?

Przeglądając dokumentację, znalazłem klasę ThreadingHTTPServer, która wykorzystuje wątki do przetwarzania żądań za pomocą wątków, a kod został zmieniony na następujący:

Problem rozwiązany, skończony.






Poprzedni:Użyj JSC do wygenerowania dll w JavaScript dla wywołań C#
Następny:Python używa stacji lustrzanych do przyspieszenia pobierania
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com