Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12121|Jawab: 0

[Sumber] Python menggunakan http.server untuk membuka layanan http

[Salin tautan]
Diposting pada 02/12/2020 15.55.03 | | | |
Persyaratan: Beberapa alat pihak ketiga adalah skrip python, saya melakukan pengembangan C# sendiri, saya tidak mahir dalam python itu sendiri, jika Anda menerjemahkan kode python ke dalam kode C#, itu sangat sulit, lebih baik menggunakan python untuk membuka layanan http, saya memanggil antarmuka dua, dan akhirnya mengeksekusi python itu sendiri untuk mengeksekusi kode internalnya.

HTTPServer adalah subkelas dari socketserver.TCPServer. Ini membuat dan mendengarkan soket HTTP untuk mengirimkan permintaan ke penangan.

Dokumentasi:Login hyperlink terlihat.

Tip: http.serverTidak direkomendasikan untuk produksi。 Ini hanya menerapkan pemeriksaan keamanan dasar.

Kodenya adalah sebagai berikut:


Gunakan Python untuk mendengarkan port 10254, aktifkan layanan HTTP, dan coba akses URL, seperti yang ditunjukkan pada gambar berikut:



Namun, pengujian dapat diakses ketika saya menggunakan browser tepi untuk mengakses beberapa kali, terkadang selalutertundastate, setelah saya membuat koneksi dari native melalui telnet dan port 10254, saya menemukan bahwa layanan http tidak dapat diakses dari server dan lokal, seperti yang ditunjukkan pada gambar di bawah ini,Tidak ada tanggapan selama 20 menit, dan pada akhirnya, saya hanya bisa meminta kembali:


Pada awalnya, saya pikir itu adalah masalah bahwa tidak ada pengaturan "Panjang-Konten", menyebabkan browser tidak tahu berapa byte konten yang harus dibaca, dan saya tidak tahu kapan pembacaan selesai, tetapi setelah header respons, masalahnya masih belum terpecahkan.

Mungkinkah defaultnya adalah single-threaded, memungkinkan hanya satu klien untuk mengakses pada satu waktu?

Melihat dokumentasi, saya menemukan bahwa ada kelas ThreadingHTTPServer, yang menggunakan utas untuk memproses permintaan dengan menggunakan utas, dan kode diubah menjadi sebagai berikut:

Masalah terpecahkan, selesai.






Mantan:Gunakan JSC untuk membuat dll di JavaScript untuk panggilan C#
Depan:Python menggunakan stasiun cermin untuk mempercepat unduhan pip
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com