Нужен ли setHTTPBody тип кодировки, если вы передаете ему тип данных NSMutable через NSData в параметре метода?
В основном у меня есть метод, который создает мой http-пакет тела в соответствии с этим
- (void) constructRequest
{
//Create final packet
NSMutableData * myConstructedMutableDataPacket = [[NSMutableData alloc] init];
[myConstructedMutableDataPacket appendData:Sig];
[myConstructedMutableDataPacket appendData:Ver];
//etc
//call connection method
[self [self VehicleSearchRequest:myConstructedMutableDataPacket];
}
];
}
тогда в методе соединения я объявляю все свои запросы. Также я передаю объект NSMutableData myConstructedMutableDataPacket параметру NSData моего класса подключения, как указано ниже.
- (IBAction)VehicleSearchRequest:(NSData *)postBodyData
{
//all my connection crap
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0]; //if request dose not finish happen within 60 second timeout.
[request setHTTPMethod: @"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:postBodyData]; //Is this okay without encoding type?
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
Я хотел бы знать, что мой [request setHTTPBody: postBodyData]; в порядке, потому что я передаю ему тип NSData из параметра самого метода ...
Вот как я видел это во многих местах:
urlRequest setHTTPBody:[httpBodyString dataUsingEncoding:NSISOLatin1StringEncoding]];