Сообщение HTTPS для iPhone с заголовком xml - PullRequest
0 голосов
/ 14 июля 2010

Я должен сделать HTTPS Post с некоторыми данными XML, но мне нужно отправить XML в заголовке HTTP.

Используя тело, я бы сделал что-то вроде этого

request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:CACHE_POLICY timeoutInterval:TIMEOUT_INTERVAL];
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
    [request setHTTPBody:postData];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

а для шапки это не работает, кто-нибудь знает как это сделать? XML-это что-то вроде

<request>
<code1>666</code1 >
<code2>656</code2 >
<code3>767</code3 >
</request >

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июля 2010

Или вы имеете в виду «в URL», а не случайный заголовок?Заголовки HTTP не предназначены для вставки случайных данных в обычные обстоятельства.

Сверху головы, без попыток компилирования (сейчас у меня нет Xcode), извините за опечатки:

NSMutableString *urlString = [NSMutableString string];
[urlString append:@"http://wahtever.com?something=something"];
[urlString append:@"&data="];
[urlString append:[@"<request>...etc</request>" stringByAddingPercentEscapesUsingEncoding:UTF8StringEncoding];

NSURL *url = [NSURL URLwithString:urlString];
request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:CACHE_POLICY timeoutInterval:TIMEOUT_INTERVAL];
0 голосов
/ 14 июля 2010
[request setValue:@"<request><code1>666</code1 ><code2>656</code2 ><code3>767</code3 ></request >" forHTTPHeaderField:@"Your header field name?"];
...