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 :

[PYTHON 3] "TypeError: sendall() argument 1 must be string or buffer" lors d'une requête SOAP


Sujet :

Réseau/Web Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Décembre 2016
    Messages : 20
    Points : 13
    Points
    13
    Par défaut [PYTHON 3] "TypeError: sendall() argument 1 must be string or buffer" lors d'une requête SOAP
    Bonjour,

    J'essaye de faire un script qui requête un service web SOAP mais je tombe sur une erreur que je ne comprend pas...
    Voici mon script:

    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
    35
    36
    37
    38
     
    #################################################################
    #Objective: 
    # Brute-force for login enumeration 
    #Description: 
    # SOAP request through POST method to try to log on the application 
    #Date:
    # 19/07/2018
    #################################################################
     
    import requests
     
    #content return when error
    match='does not exist'
     
    url = "http://192.168.1.1/MUTILLIDAE/webservices/soap/ws-user-account.php"
     
    #referer
    header ={
            'Content-Type':'text/xml;charset=UTF-8',
            'SOAPAction':'"urn:ws-user-account#getUser"'
    } 
     
    body={
    """
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ws-user-account">
    <soapenv:Header/>
            <soapenv:Body>
                    <urn:getUser soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                            <username xsi:type="xsd:string">gr3g</username>
                    </urn:getUser>
            </soapenv:Body>
    </soapenv:Envelope>
    """
    }
     
    request = requests.post(url, headers = header, data = body).text
    print(request)
    Voici maintenant le retour dans le terminal lors de l'exécution:

    gr3g@localhost:~/ctf/script/webService_SOAP$ python login_request.py

    Traceback (most recent call last):
    File "login_request.py", line 36, in <module>
    request = requests.post(url, headers = header, data = body).text
    File "/usr/lib/python2.7/dist-packages/requests/api.py", line 111, in post
    return request('post', url, data=data, json=json, **kwargs)
    File "/usr/lib/python2.7/dist-packages/requests/api.py", line 57, in request
    return session.request(method=method, url=url, **kwargs)
    File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 585, in send
    r = adapter.send(request, **kwargs)
    File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 403, in send
    timeout=timeout
    File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 578, in urlopen
    chunked=chunked)
    File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 362, in _make_request
    conn.request(method, url, **httplib_request_kw)
    File "/usr/lib/python2.7/httplib.py", line 1057, in request
    self._send_request(method, url, body, headers)
    File "/usr/lib/python2.7/httplib.py", line 1097, in _send_request
    self.endheaders(body)
    File "/usr/lib/python2.7/httplib.py", line 1053, in endheaders
    self._send_output(message_body)
    File "/usr/lib/python2.7/httplib.py", line 901, in _send_output
    self.send(message_body)
    File "/usr/lib/python2.7/httplib.py", line 873, in send
    self.sock.sendall(data)
    File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
    TypeError: sendall() argument 1 must be string or buffer, not set
    Vous savez d'où vient cette erreur exotique ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par raydonovan Voir le message
    Vous savez d'où vient cette erreur exotique ?
    Des curly-braces (i.e. {}) exotiques autour de la chaîne de caractères déclarée comme "body".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Décembre 2016
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Oops !
    merci

Discussions similaires

  1. [V8] erreur module odoo v8 TypeError: type() argument 1 must be string, not tuple
    Par BXDSPORT dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 16/07/2018, 13h18
  2. Réponses: 0
    Dernier message: 12/07/2018, 15h45
  3. POO : TypeError et arguments
    Par golden boy dans le forum Général Python
    Réponses: 5
    Dernier message: 06/02/2011, 18h51
  4. Réponses: 2
    Dernier message: 23/02/2010, 19h45
  5. [Python 3] Problème avec sendall()
    Par sorry60 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 19/04/2009, 17h14

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