NSURLRequest setHttpBody

I got a wrong post(php:echo $_POST) like below: Array ( [email"[email protected]_com] => -----------------------------14737809831466499882746641449 Content-Disposition: form-data; name="password" c8837b23ff8aaa8a2dde915473ce0991 )

codul meu:

// set header value ,   some random text that will never occur in the body  
NSString *boundary = @"---------------------------14737809831466499882746641449";   NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];   [request addValue:contentType forHTTPHeaderField: @"Content-Type"];         /*   now lets create the body of the post      */   NSMutableData *body = [NSMutableData data];             // email part         
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];        
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"email\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
[body appendData:[anEmail dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];         // password part     [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"password\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];    
[body appendData:[aPassword dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];         // image part     [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];        
[body appendData:[[NSString stringWithFormat: @"Content-Disposition: form-data; name=\"uploadingImage\"; filename=%@\r\n", anImageName]                        dataUsingEncoding:NSUTF8StringEncoding]];    
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
[body appendData:[NSData dataWithData:aFileData]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];             
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];  
// setting the body of the post to the reqeust  
[request setHTTPBody:body];        //now lets make the connection to the web  
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
0
Care este problema pe care o aveți?
adăugat autor Vaquita, sursa
@Neptun. Array ([e-mail "aa @ qq_com] => ----------------------------- 14737809831466499882746641449 Conținutul-Disposition: form-data; nume = "parola" c8837b23ff8aa8a2dde915473ce0991) Vreau ca valoarea $ să fie [email protected] whilt $ key este e-mail și valoarea $ este c8837b23ff8aaa8a2dde915473ce0991 în timp ce cheia $ este parola.
adăugat autor anna, sursa
@Neptun. Nu pot să-mi aduc $ _POST ['email'] sau $ _POST ['parola']. Dar pot obține $ _FILES ['uploadingImage'], și este corect. Vreo idee?
adăugat autor anna, sursa
@ Maulik mulțumesc ~
adăugat autor anna, sursa
durere de cap.......
adăugat autor anna, sursa

1 răspunsuri

ar trebui să fie

name=\"password\"\r\n\r\n%@",password];

dar acum faci așa

name=\"password\"\r\n%@\r\n",password];

Sper că ați înțeles greșeala ..

2
adăugat
Tocmai mi-am dat seama. [body appendData: [[NSString stringWithString: @ "Content-Disposition: form-data; nume = \" email \ "\ r \ n"] : [[NSString stringWithString: @ "Conținutul-Disposition: form-data; nume = \" email \ "\ r \ n \ r \ n"
adăugat autor anna, sursa
Mulțumiri. Mă întreb că există o explicație despre asta. Este bine să utilizați acest format, dar tot vreau să știu mai multe. Aveți vreun tutorial?
adăugat autor anna, sursa