Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2011
    Messages : 15
    Points : 0
    Points
    0

    Par défaut iPhone et envoi en POST

    Bonsoir,

    je développe actuellement une appli iPhone et dois soumettre des données saisies dans des champs à un webservice. J'ai suivi la doc mais impossible d'envoyer quoique ce soit en POST... Le serveur ne reçoit pas les données en POST... Voici l'extrait du code...


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:urlService];
        
        [request setHTTPMethod:@"POST"];
        [request setTimeoutInterval:30];
        //[request setHTTPBody:[paramString dataUsingEncoding:NSUTF8StringEncoding]];
        [request setHTTPBody:[NSData dataWithBytes: [ paramString UTF8String ] length: [ paramString length ]]];
    
        NSURLResponse *response = NULL;
        NSError *requestError = NULL;
        NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
        NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];
        
        return responseString;
    Et paramString vaut @"login=xxx&motdepasse=xxx" en gros...

    Merci à vous !!

  2. #2
    Responsable Mac & iOS

    Avatar de kOrt3x
    Homme Profil pro Aurélien Gaymay
    Technicien Informatique/Webmaster
    Inscrit en
    septembre 2006
    Messages
    3 630
    Détails du profil
    Informations personnelles :
    Nom : Homme Aurélien Gaymay
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : septembre 2006
    Messages : 3 630
    Points : 14 233
    Points
    14 233

    Par défaut

    Et quel est le problème exactement ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2011
    Messages : 15
    Points : 0
    Points
    0

    Par défaut

    Citation Envoyé par kOrt3x Voir le message
    Et quel est le problème exactement ?
    Le problème est que la requête est considérée comme une requête de type GET et que $_POST['login'] (dans le cas de cet exemple), est donc NULL...

    J'ai également essayé d'autres alternatives en matière de code, comme changer l'en-tête http et faire croire à un multi-part, j'ai également voulu installer ASIHTTPRequest mais ça plante complètement avec le projet, malgré le fait que j'intègre les librairies requises d'après la doc... Bref, aucune solution testé ne me permet de soumettre une communication POST...

    Edit : j'ai réussi à intégrer la librairie ASIHTTPRequest (j'avais importé des fichiers de tests qui marchaient pas d'où l'erreur), mais malgré ça, je n'envoie que des méthodes GET...

    Voici le code avec ASIHTTPRequest pour que vous voyiez où serait l'erreur...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:urlService];
    [request setUseCookiePersistence:YES];
    [request setPostValue:@"xxxx" forKey:@"login"];
    [request setPostValue:@"xxxx" forKey:@"mdp"];
    [request setRequestMethod:@"POST"];
    [request startSynchronous];
    NSString *responseString;
    NSError *error = [request error];
    if (!error){
            responseString = [request responseString];
        }else{
            responseString = [[NSString alloc] initWithString:@"Service indisponible"];
    }
         
    return responseString;

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •