开发者

iPhone HTTPS post with xml header

I have to make a HTTPS Post with some XML data, but I need to send the XML in the HTTP header.

Using the body I would do something like this

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];

But this does not work for the header, anyone know how to make this? The XML is something like this

<request>
<code1>66开发者_如何学编程6</code1 >
<code2>656</code2 >
<code3>767</code3 >
</request >

Thanks.


[request setValue:@"<request><code1>666</code1 ><code2>656</code2 ><code3>767</code3 ></request >" forHTTPHeaderField:@"Your header field name?"];


Or do you mean "in the URL", rather than a random header? HTTP Headers aren't for bunging random data into, in ordinary circumstances.

Off the top of my head, without trying to compile (no Xcode with me right now), excuse typos:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜