Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12121|Risposta: 0

[Fonte] Python utilizza http.server per aprire un servizio http

[Copiato link]
Pubblicato su 02/12/2020 15:55:03 | | | |
Requisiti: Alcuni strumenti di terze parti sono script Python, io sviluppo C# personalmente, non sono esperto di Python in sé, se traduci codice Python in C# è molto difficile, è meglio usare Python per aprire un servizio http, chiamo l'interfaccia due e infine eseguisco Python stesso per eseguire il suo codice interno.

HTTPServer è una sottoclasse di socketserver.TCPServer. Crea e ascolta i socket HTTP per inviare richieste ai gestori.

Documentazione:Il login del link ipertestuale è visibile.

Consiglio: http.serverNon consigliato per la produzione。 Implementa solo controlli di sicurezza di base.

Il codice è il seguente:


Usa Python per ascoltare la porta 10254, abilita il servizio HTTP e prova ad accedere all'URL, come mostrato nella figura seguente:



I test sono però accessibili quando uso il browser Edge per accedere più volte, a volte sempreIn sospesostato, dopo aver stabilito una connessione dal nativo tramite telnet e porta 10254, ho scoperto che il servizio http non è accessibile né dal server né dal locale, come mostrato nell'immagine qui sotto,Nessuna risposta per 20 minuti, e alla fine, potevo solo ririchiedere:


All'inizio pensavo fosse un problema che non c'era un'impostazione "Contenuto di Lunghezza", che faceva sì che il browser non sapesse quanti byte di contenuto leggere, e non sapevo quando la lettura fosse completata, ma dopo l'intestazione di risposta il problema non era ancora risolto.

Potrebbe essere che il default sia single-thread, permettendo solo a un client di accedere alla volta?

Guardando la documentazione, ho scoperto che esiste una classe ThreadingHTTPServer, che usa thread per processare le richieste tramite thread, e il codice viene modificato con il seguente:

Problema risolto, finito.






Precedente:Usa JSC per generare una dll in JavaScript per le chiamate C#
Prossimo:Python utilizza stazioni speculari per velocizzare i download dei pip
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com