Comment faire une demande HTTP Post en utilisant JSON. J'ai essayé toutes les options disponibles sur Internet. Mais je n'ai pas pu obtenir les données. Alors s'il vous plaît poster le code entier pour faire une demande.Http Post Request
1
A
Répondre
3
Voici un exemple de base de NSURLConnection POST -ING JSON à une URL.
- (void)performRequest {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://someplace.com/"]];
[request setValue:@"Some Value" forHTTPHeaderField:@"Some-Header"];
[request setHTTPBody:@"{\"add_json\":\"here\"}"];
[request setHTTPMethod:@"POST"];
[NSURLConnection connectionWithRequest:[request autorelease] delegate:self];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
// Fail..
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// Request performed.
}
4
Vous pouvez utiliser ci-dessous le code:
-(void)performRequest{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"url"]];
NSString *msgLength = [NSString stringWithFormat:@"%d", [jsonMessage length]];
[request addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request addValue: jsonAction forHTTPHeaderField:@"JSONAction"];
[request addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody: [jsonMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(theConnection)
{
webData = [[NSMutableData data] retain];
}
else
{
NSLog(@"theConnection is NULL");
}
[pool release];
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
[webData setLength: 0];
self.resultArray = [[NSMutableArray alloc] init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[webData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
NSLog(@"ERROR with theConenction");
NSDictionary *errorDic = [NSDictionary dictionaryWithObject:error forKey:@"error"];
[self.resultArray addObject:errorDic];
[connection release];
[webData setLength:0];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSLog(@"DONE. Received Bytes: %d", [webData length]);
NSString *theXML = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
NSLog(@"%@", theXML);
[theXML release];
if([webData length] > 0){
parser = [[NSXMLParser alloc] initWithData:webData];
[parser setDelegate:self];
[parser parse];
}
}
Questions connexes
- 1. Handle http post request
- 2. C# Xml dans Http Post Request Corps du message
- 3. Copie Http Request InputStream
- 4. Http request timeout issue
- 5. http request ... cookies
- 6. XMLHTTP POST request et System.Reflection
- 7. Caractère spécial sur Http Request
- 8. Post http avec flash?
- 9. HTTP Post erreur de données
- 10. Lecture d'en-têtes HTTP Request personnalisés
- 11. erreur de sélection asynchrone asi-http-request
- 12. Plusieurs paramètres dans http get request
- 13. HTTP Request Client Timeout Paramètres par défaut
- 14. ASP.NET MVC - HTTP Post
- 15. SOAP et HTTP Post
- 16. Grails Http Post
- 17. asp.net POST HTTP
- 18. Configuration Http Post Server
- 19. Ruby Remote HTTP Post
- 20. Répondre à HTTP POST
- 21. Code canonique HTTP POST?
- 22. En-têtes http Post
- 23. http POST avec asp.net
- 24. HTTP POST Erreur 414
- 25. POST Demande HTTP de j2me
- 26. Contenu HTTP POST dans Haskell
- 27. ASP http POST Lire les données
- 28. Proxy HTTP-GET-to-HTTP-POST
- 29. Commande HTTP Post avec requête XML (PHP)
- 30. Passer les paramètres cachés d'entrée via urllib2 POST request
Ce n'est pas un "code pour moi gratuitement" site. La façon dont cela fonctionne est, vous postez votre code et les gens vous aident à le faire fonctionner. Cela dit, vous devriez google ASIHTTPRequest. C'est une bibliothèque de client HTTP très robuste mais relativement très simple, et la page "comment l'utiliser" a beaucoup d'exemples de code. –