Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12121|Ответ: 0

[Источник] Python использует http.server для открытия http-сервиса

[Скопировать ссылку]
Опубликовано 02.12.2020 15:55:03 | | | |
Требования: Некоторые сторонние инструменты — это скрипты на Python, я сам занимаюсь разработкой на C#, не владею самим python, если переводить код Python на C#, это очень сложно, лучше использовать Python для открытия http-сервиса, я вызываю интерфейс два и, наконец, запускаю сам Python для внутреннего кода.

HTTPServer — это подкласс socketserver.TCPServer. Он создаёт и прослушивает HTTP-сокеты для отправки запросов обработчикам.

Документация:Вход по гиперссылке виден.

Совет: http.serverНе рекомендуется для производства。 Он реализует только базовые проверки безопасности.

Код таков:


Используйте Python, чтобы прослушать порт 10254, включить HTTP-сервис и попытаться получить доступ к URL, как показано на следующем рисунке:



Однако тесты доступны, когда я использую браузер Edge для доступа несколько раз, иногда всегдаВ ожиданииПосле установления соединения с нативной через telnet и порт 10254 я обнаружил, что HTTP-сервис недоступен ни с сервера, ни с локального сервера, как показано на изображении ниже,Ответа не было 20 минут, и в итоге я мог только повторно запросить:


Сначала я думал, что проблема в отсутствии настройки «Длина содержания», из-за чего браузер не знал, сколько байт контента читать, и я не знал, когда чтение завершено, но после заголовка ответа проблема всё равно не была решена.

Может быть, по умолчанию система однопоточная, позволяющая доступу только одному клиенту одновременно?

Посмотрев документацию, я обнаружил, что существует класс ThreadingHTTPServer, который использует потоки для обработки запросов с помощью потоков, и код изменяется на следующее:

Проблема решена, конец.






Предыдущий:Используйте JSC для генерации dll в JavaScript для вызовов C#
Следующий:Python использует зеркальные станции для ускорения загрузки PIP
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com