Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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