Gegevens verzenden via internet naar een programma op afstand met python

Ik heb een programma dat ik in python heb geschreven en dat gegevens verzamelt. Ik wil de gegevens ergens op internet kunnen opslaan en toestaan ​​dat een andere gebruiker er toegang toe heeft vanaf een andere computer ergens anders, waar ook ter wereld met een internetverbinding. Mijn oorspronkelijke idee was om een ​​e-mailclient, zoals gmail, te gebruiken om de gegevens op te slaan door in het web adresseerbare strings te verzenden. Hierdoor kan iedereen toegang krijgen tot het adres en eenvoudig de nieuwste e-mail lezen om de gegevens te krijgen. Het werkte perfect, maar het programma vereist dat elke 5-30 seconden een nieuwe e-mail wordt verzonden. De methode viel dus weg vanwege de limiet die g-mail heeft op e-mails, onder andere omdat ik oude e-mails niet volledig kon verwijderen.

Nu wil ik een ander idee proberen, maar ik weet niet zo veel over netwerkprogrammering met python. Ik wil een webpagina opzetten met vrijwel niets erop. Het "master" -programma, het programma dat de gegevens daadwerkelijk verzamelt, stuurt een gepekelde string naar de webpagina. Dan kan elk van de "externe" programma's de string lezen. Ik zal ook het hoofdprogramma nodig hebben om oude strings te verwijderen als het de webpagina bijwerkt. Het zou de voorkeur hebben om meerdere tekenreeksen te kunnen opslaan, dus er is geen kans dat de master wordt bijgewerkt terwijl de afstandsbediening aan het lezen is.

Ik weet niet of dit een haalbare taak is in python, maar alle ideeën zijn welkom. En als je ideeën hebt om dit op een andere manier te doen, ben ik een en al oor, in dit geval goed.

1

4 antwoord

Ik zou willen voorstellen een kijkje te nemen bij het opzetten van een eenvoudige site in de Google-app-engine. Het is gratis en je kunt python gebruiken om de site te doen. Dan zou het gewoon een kwestie zijn van het creëren van een eenvoudige, rustige service die u een POST kunt sturen met uw ingelegde gegevens en deze in een database kunt opslaan. Maak dan gewoon een eenvoudige web-front-end op de database.

2
toegevoegd
Is er een andere methode dan het inleggen ervan die je zou kunnen gebruiken?
toegevoegd de auteur Casey, de bron
+1, hetzelfde dat ik ging posten. Het enige probleem dat ik zie is beveiliging ... je zult waarschijnlijk een methode willen gebruiken om de integriteit en bron te controleren, dus gebruik zoiets als HMAC_SHA1 of een volwaardige OAuth-implementatie.
toegevoegd de auteur Colin Dunklau, de bron
Van wat ik heb gelezen, ziet de Google-app-engine er veelbelovend uit, maar ik heb wel een probleem. De hoeveelheid gegevens die ik verzend is niet klein. Het zijn grote numpy arrays en op hun beurt zijn de zure snaren vrij groot. Is er een limiet op de grootte van de berichten op de site?
toegevoegd de auteur Mink, de bron

Een andere optie naast wat Casey al heeft geleverd:

Stel ergens een externe MySQL-database in die gebruikerstoegangsniveaus heeft die verbindingen op afstand mogelijk maken. Uw Python-programma zou dan eenvoudig toegang kunnen krijgen tot de database en INSERT van de gegevens die u centraal probeert op te slaan (bijvoorbeeld via MySQLDb-pakket of pyodbc-pakket). Uw gebruikers kunnen dan de gegevens lezen via een client die MySQL ondersteunt of u kunt een eenvoudige front-end schrijven in Python of PHP die de gegevens uit de database weergeeft.

1
toegevoegd

Ik raad u aan om een ​​goede middenklasse te gebruiken zoals: Zero-C ICE, Pyro4, Twisted.

Pyro4 gebruikt augurk om gegevens te serialiseren.

0
toegevoegd

Dit toevoegen als een antwoord, zodat OP meer geneigd is om het te zien ...

Zorg ervoor dat u de beveiliging in overweging neemt! Als je gewoon blindelings gegevens accepteert, kan dit je openstellen voor het uitvoeren van willekeurige code.

0
toegevoegd