Вы не используете NSString
правильно (ваш myRequestString
фактически будет читать "username ="). Вместо этого попробуйте это:
NSMutableString *myRequestString = [NSMutableString stringWithString:@"username="];
[myRequestString appendString:username];
[myRequestString appendString:@"&password="];
[myRequestString appendString:password];
В дополнение к этому замечательному ответу, просто типичный пример кода:
-(NSString *)buildKeyValuePostString
{
NSString *username = @"boss@apple.com";
NSString *password = @"macintosh";
NSMutableString *r = [NSMutableString stringWithString:@""];
[r appendString:@"command=listFileNames"];
[r appendString:@"&"];
[r appendString:@"name=blah"];
[r appendString:@"&"];
[r appendString:@"user="];
[r appendString: [username stringByUrlEncoding] ];
[r appendString:@"&"];
[r appendString:@"password="];
[r appendString: [password stringByUrlEncoding] ];
return r;
}
и вот категория для выполнения сложной / раздражающей работы по кодированию URL
-(NSString *)stringByUrlEncoding
{
return (NSString *)CFBridgingRelease(
CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8)
);
// with thanks to http://www.cocoanetics.com/2009/08/url-encoding/
// modified for ARC use 2014
}
Надеюсь, это кому-нибудь поможет.