我需要发送post类型的RestFul网络服务请求,post数据格式如下{" Request ":"parameters"....}和具有相同request.Is的二进制数据在ios中是否可能,如果可能,请解释?
发布于 2013-03-06 22:07:17
我不再推荐使用ASIHttpRequest库,因为它不会从开发人员那里获得任何更新,至于如何创建post http请求,下面是一个示例
NSString *url = @"your webservice base url";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
NSString *param2 = ...//
NSData *binaryData = .... //initilize the binary data you want to send
NSString *bodyString = [NSString stringWithFormat:@"param1=%@¶m2=%@",binartData,param2];
[request setValue:[NSString stringWithFormat:@"%d", [bodyString length]] forHTTPHeaderField:@"Content-length"];
[request setHTTPBody:[bodyString dataUsingEncoding:NSASCIIStringEncoding]];//or set the type of encoding agreed with your webservice
NSURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *responseString;
if ( responseData && !error){
responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
}https://stackoverflow.com/questions/15249115
复制相似问题