IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Sauvegarder des trames GPS dans MySQL en Python


Sujet :

Réseau/Web Python

  1. #1
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut Sauvegarder des trames GPS dans MySQL en Python
    Bonjour,
    je viens vers vous car j'ai un problème.

    Je reçois des données sur un port de mon serveur chaque minute et j'aimerais sauvegarder ces données dans une BDD MySQL pour les exploiter(données GPS). J'arrive à les voir dans la console avec netcat que je laisse en permanance, mais je ne sais pas comment les récupérer pour les envoyer dans MySQL. Actuellement, je passe par un fichier et ça me va pas.
    On ma dit que ça serait plus facile en python et surtout plus sécurisé, mais je ne connais rien dans ce langage.

    Pouvez vous m'aider SVP ? Ca fait 5 jours que je cherche sans relâche des méthodes sans succès et je continue.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 678
    Points
    13 678
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Si tu ne connais pas Python, ce n'est sûrement pas la meilleure solution, sauf si tu n'es pas pressé et que tu as le temps d'apprendre.

    Quel langage connais-tu ?

    Quelque soit le langage (ça marche aussi avec Python), il te faut déjà être capable de recevoir les données du réseau, avec une socket. Il faut aussi être capable de faire des requêtes SQL pour mettre des données arbitraires dans la BDD. Quand tu sais faire les 2, tu peux mettre les données reçues du réseau dans la BDD.

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Il te faut notamment un connecteur MySQL (une 'tite recherche Google, MySQLdb pour Python 2, pourquoi pas MySQL Connector pour version 3). La version de Python est importante, tu ne la précises pas.

  4. #4
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    Je connais surtout le couple PHP/MYSQL et un tout petit peut de commande linux.

    Moi au départ je voulais faire ça en bash car j'arrive avec la commande netcat à voir les données qui arrivent chaque minute et qu'il me restait qu'à mettre ces données dans ma table, mais je n'y suis jamais arrivé vu que je suis ici.
    Puis on m'a dit que c'était pas top niveau sécurité et on m'a dit fait ça en python c'est facile^^.

    Merci pour votre attention.
    Ps: j'ai vu une grosse faute dans le titre je reviens et plus de faute^^. Désolé, j'essaye de pas en faire.

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Citation Envoyé par Lprofessionnelle Voir le message
    Je connais surtout le couple PHP/MYSQL
    Et bien pourquoi ne le ferais-tu pas en PHP dans ce cas ?

  6. #6
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    Je dois exécuter mon script en continu sans aucune interruption, le PHP marche pas de cette façon normalement ?

    J'ai trouvé ce code pour testé, mais je ne reçois rien dans la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import socket
    Sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    Host = '127.0.0.1' # l'ip locale de l'ordinateur
    Port = 13242         # choix d'un port
     
    print "On commence:"
     
    # on bind notre socket :
    Sock.bind((Host,Port))
     
    # On est a l'ecoute d'une seule et unique connexion :
    Sock.listen(1)
     
    # Le script se stoppe ici jusqu'a ce qu'il y ait connexion :
    client, adresse = Sock.accept() # accepte les connexions de l'exterieur
    print "L'adresse",adresse,"vient de se connecter au serveur !"
    while 1:
            RequeteDuClient = client.recv(1000) # on recoit 255 caracteres grand max
            if not RequeteDuClient: # si on ne recoit plus rien
                    break  # on break la boucle (sinon les bips vont se repeter)
            print RequeteDuClient,"\a"         # affiche les donnees envoyees, suivi d'un bip sonore
    Mais d'après les commentaires, il à l'air parfait(sans le break), il manque juste la requête SQL..

    PS: le python c'est cool

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 678
    Points
    13 678
    Billets dans le blog
    1
    Par défaut
    Ps: j'ai vu une grosse faute dans le titre je reviens et plus de faute^^. Désolé, j'essaye de pas en faire.
    Ouais, c'est la magie des modérateurs

    Je connais surtout le couple PHP/MYSQL et un tout petit peut de commande linux.
    Si tu connais bien ce couple, essaye de t'y tenir, ce sera sans doute plus simple de trouver comment faire en PHP que d'apprendre Python.

    Hier, quelqu'un me racontait un projet où un microcontrôleur envoyait des données à un serveur, à une page PHP pour être exact, et la page PHP mettait tout ça dans une BDD SQL. Cela doit donc être possible. Je n'ai jamais touché à PHP, je ne pourrai pas t'aider là-dessus.

    As-tu la main sur le client ? Pourrais-tu modifier la façon dont il t'envoie les données ou pas ?

  8. #8
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    Impossible, c'est un tracker TK-102 qui peut envoyer les données que sur une ip et un port. Je peux rien faire d'autre malheureusement c'est pour ça qu'au début que je voulais faire une redirection vers une page de mon site OU y ajouter directement dans ma BDD.
    Je vais essayer de le faire en python, ça a l'air mieux quand PHP, mais je ne vois pas les données contrairement a la commande netcat, ça na pas l'air de marcher.

    EDIT:
    Je progresse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    import socket               # Import socket module
    import time
     
    s = socket.socket()         # Create a socket object
    host = socket.gethostname() # Get local machine name
    port = 13242                # Reserve a port for your service.
    s.bind((host, port))        # Bind to the port
     
    s.listen(5)                 # Now wait for client connection.
    while True:
       c, addr = s.accept()     # Establish connection with client.
       RequeteDuClient = c.recv(1000) # on recoit 255 caracteres grand max
       print 'Got connection from', time.strftime('%d/%m/%y %H:%M:%S', time.localtime()), ' ', addr, ' ', RequeteDuClient
       # c.send('Thank you for connecting')
       c.close()                # Close the connection
    Je vois la date de la connexion, les données reçus et même l'ip et le port du tracker qui envoi les données... D'ailleurs son ip et son port change à chaque fois normal ?

    Il me reste plus qu'a mettre la requête SQL, je bloque

  9. #9
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 678
    Points
    13 678
    Billets dans le blog
    1
    Par défaut
    C'est étonnant que l'IP change ; en revanche, c'est normal que le port change. Il est alloué pour la communication et n'a pas d'importance en tant que tel. Le seul numéro de port important est celui sur lequel le serveur écoute.

    Je vois que tu fais un accept() à faire itération ; je trouve étonnant que tu ne puisses pas gérer ça en PHP mais si tu y arrives facilement en Python, tant mieux

  10. #10
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    J'ai jamais codé ce genre de chose en PHP^^, mais en PHP tout est possible...

    Pour l'ip par exemple j'ai:
    ('37.160.103.8', 45000)
    ('37.162.9.134', 9000)
    ('37.165.122.138', 58000)
    EDIT:
    J'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Traceback (most recent call last):
      File "python2.py", line 25, in <module>
        cursor.execute("""INSERT INTO gps (id, info, datetime, texte) VALUES(NULL, %(info)s, %(datetime)s, %(texte)s)""", user)
      File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
        self.errorhandler(self, exc, value)
      File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
        raise errorclass, errorvalue
    _mysql_exceptions.OperationalError: (1241, 'Operand should contain 1 column(s)')
    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    import socket               # Import socket module
    import time
    import MySQLdb
     
    print 'On commence:'
     
    conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
    cursor = conn.cursor()
    # conn.close()
     
     
    s = socket.socket()         # Create a socket object
    host = socket.gethostname() # Get local machine name
    port = 13242                # Reserve a port for your service.
    s.bind((host, port))        # Bind to the port
     
    s.listen(5)                 # Now wait for client connection.
    while True:
       c, addr = s.accept()     # Establish connection with client.
       RequeteDuClient = c.recv(1000) # on recoit 255 caracteres grand max
       timetrame = time.strftime('%y-%m/-%d/ %H:%M:%S', time.localtime())
       print 'Date: ', timetrame, '\n ', addr, '\n ', RequeteDuClient
       # curs.execute("INSERT INTO gps (id, text) VALUES (NULL, RequeteDuClient)")
       user = {"info": addr, "datetime": timetrame, "texte": RequeteDuClient}
       cursor.execute("""INSERT INTO gps (id, info, datetime, texte) VALUES(NULL, %(info)s, %(datetime)s, %(texte)s)""", user)
     
       # c.send('Thank you for connecting')
       c.close()                # Close the connection
       conn.close()

  11. #11
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 678
    Points
    13 678
    Billets dans le blog
    1
    Par défaut
    Tu pourrais nous montrer le message d'erreur ?

    Il semble aussi possible d'utiliser pip pour installer MySQL pour Python : http://codeinthehole.com/writing/how...hon-on-ubuntu/

  12. #12
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    Je crois que j'ai réussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import socket               # Import socket module
    import time
    import MySQLdb
     
    print 'On commence:'
     
    conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
    cursor = conn.cursor()
     
     
    s = socket.socket()         # Create a socket object
    host = socket.gethostname() # Get local machine name
    port = 13242                # Reserve a port for your service.
    s.bind((host, port))        # Bind to the port
     
    s.listen(5)                 # Now wait for client connection.
    while True:
       c, addr = s.accept()     # Establish connection with client.
       RequeteDuClient = c.recv(1000) # on recoit 255 caracteres grand max
       timetrame = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
       print 'Date: ', timetrame, '\nIP: ', addr, '\nTrame: ', RequeteDuClient
     
       ip_port = str(addr)
       trame = str(RequeteDuClient)
       client=(ip_port, timetrame, trame)
       # print client, "\n"
     
       sqlvar = ('Insert into gps(info, datetime, texte) Values(%s, %s, %s)')
       cursor.execute(sqlvar, client)
     
     
       c.close()                # Close the connectio
    J'ai pas d'erreur comme de possible injections SQL ?

  13. #13
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    up, quelqu'un peut me répondre si ma requête SQL est bonne ? En PHP je sais, mais en python je sais pas^^.

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Salut,

    La doc [0] est claire:
    You shouldn’t assemble your query using Python’s string operations because doing so is insecure; it makes your program vulnerable to an SQL injection attack
    ...

    Instead, use the DB-API’s parameter substitution. Put ? as a placeholder wherever you want to use a value
    Donc, tu devrais plutôt utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        sqlvar = 'Insert into gps(info, datetime, texte) Values(?, ?, ?)'

    [0] https://docs.python.org/2/library/sqlite3.html

  15. #15
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    J'ai l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "python.py", line 29, in <module>
        cursor.execute(sqlvar, (ip_port, timetrame, trame))
      File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
        query = query % db.literal(args)
    TypeError: not all arguments converted during string formatting

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import socket               # Import socket module
    import time
    import MySQLdb
     
    print 'On commence:'
     
    conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
    cursor = conn.cursor()
     
     
    s = socket.socket()
    host = socket.gethostname()
    port = 13242
    s.bind((host, port))
     
    s.listen(5)
    while True:
       c, addr = s.accept()
       RequeteDuClient = c.recv(1000)
       timetrame = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
       print 'Date: ', timetrame, '\nIP: ', addr, '\nTrame: ', RequeteDuClient
     
       ip_port = str(addr)
       trame = str(RequeteDuClient)
       # client=(ip_port, timetrame, trame)
       # print client, "\n"
     
       sqlvar = ('Insert into gps(info, datetime, texte) Values(?, ?, ?)')
       cursor.execute(sqlvar, (ip_port, timetrame, trame))
     
     
       c.close()
    Alors que lui il marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import socket               # Import socket module
    import time
    import MySQLdb
     
    print 'On commence:'
     
    conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
    cursor = conn.cursor()
     
     
    s = socket.socket()
    host = socket.gethostname()
    port = 13242
    s.bind((host, port))
     
    s.listen(5)
    while True:
       c, addr = s.accept()
       RequeteDuClient = c.recv(1000)
       timetrame = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
       print 'Date: ', timetrame, '\nIP: ', addr, '\nTrame: ', RequeteDuClient
     
       ip_port = str(addr)
       trame = str(RequeteDuClient)
       # client=(ip_port, timetrame, trame)
       # print client, "\n"
     
       sqlvar = ('Insert into gps(info, datetime, texte) Values(%s, %s, %s)')
       cursor.execute(sqlvar, (ip_port, timetrame, trame))
     
     
       c.close()

  16. #16
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Ouais, je n'avais pas fait attention à tes parenthèses. Par ailleurs inutiles.

    Essaye ceci plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       sqlvar = 'Insert into gps Values(?, ?, ?)'
       cursor.execute(sqlvar, (ip_port, timetrame, trame))
    Ce que tu aurais vu si tu avais regardé le lien de la doc que j'ai mis dans mon message.

  17. #17
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    Ne marche toujours pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Traceback (most recent call last):
      File "python.py", line 29, in <module>
        cursor.execute(sqlvar, (ip_port, timetrame, trame))
      File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
        query = query % db.literal(args)
    TypeError: not all arguments converted during string formatting
    En PHP c'est bien plus simple^^

  18. #18
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    TypeError: not all arguments converted during string formatting signifie simplement que tu donnes un nombre d'arguments différent de ce qui est nécessaire.

    Le traceback ne montre pas ton code, donc on ne peut rien dire de plus. Sauf que c'est une erreur basique en général simple à résoudre.

  19. #19
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    J'ai juste modifié comme tu me la montré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    import socket               # Import socket module
    import time
    import MySQLdb
     
    print 'On commence:'
     
    conn = MySQLdb.Connect(host="127.0.0.1",user="gps",passwd="mdp",db="gps")
    cursor = conn.cursor()
     
     
    s = socket.socket()
    host = socket.gethostname()
    port = 13242
    s.bind((host, port))
     
    s.listen(5)
    while True:
       c, addr = s.accept()
       RequeteDuClient = c.recv(1000)
       timetrame = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
       print 'Date: ', timetrame, '\nIP: ', addr, '\nTrame: ', RequeteDuClient
     
       ip_port = str(addr)
       trame = str(RequeteDuClient)
       # client=(ip_port, timetrame, trame)
       # print client, "\n"
     
       sqlvar = 'Insert into gps Values(?, ?, ?)'
       # sqlvar = ('Insert into gps(info, datetime, texte) Values(%s, %s, %s)')
       cursor.execute(sqlvar, (ip_port, timetrame, trame))
     
     
       c.close()
    Qu'est ce que j'ai mal fait ?

  20. #20
    Membre du Club
    Homme Profil pro
    Employé magasin
    Inscrit en
    Août 2012
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé magasin

    Informations forums :
    Inscription : Août 2012
    Messages : 194
    Points : 45
    Points
    45
    Par défaut
    up, pour clore le sujet, j'aimerais pas me faire pirater

Discussions similaires

  1. Problème de stockage des caractères arabe dans Mysql?
    Par merci_tous dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/04/2007, 13h21
  2. Sauvegarder des données ceuillies dans une tbx
    Par TIREUR dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/03/2007, 16h53
  3. [winpcap]sauvegarder des paquets capturés dans un fichier .pcap
    Par darknight dans le forum Développement
    Réponses: 1
    Dernier message: 07/09/2006, 17h54
  4. Réponses: 3
    Dernier message: 29/06/2006, 18h50
  5. Sauvegarde d'un tableau dans mysql
    Par cedre22 dans le forum Administration
    Réponses: 1
    Dernier message: 11/01/2006, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo