views:

1751

answers:

3

Hi I want to send text or XML from iphone to another desktop machine. Is there any way so that I can use Email to send file as attachment or can send it by HTTP POST method.

Please help me.

A: 

Have a look at NSMutableURLRequest if you want to send an HTTP post request with a payload.

Other than that, you can use the url scheme mailto: to send text to the Mail application and send it manually from there.

Your best bet is to look into the NSMutableURLRequest class though.

Jasarien
+5  A: 

You can HTTP POST it:

NSString * xmlString = @"<test><message length="5">Hello</message></test>";

NSURL * serviceUrl = [NSURL URLWithString:@"http://my.company.com/myservice"];
NSMutableURLRequest * serviceRequest = [NSMutableURLRequest requestWithURL:serviceUrl];
[serviceRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-type"];
[serviceRequest setHTTPMethod:@"POST"];
[serviceRequest setHTTPBody:[xmlString dataUsingEncoding:NSASCIIStringEncoding]];

NSURLResponse * serviceResponse;
NSError * serviceError;
serviceResponse = [NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:&serviceResponse error:&serviceError];

You can also set other HTTP Header such as content-length the same way.

Hope this helps,

Ushox
sendSynchronousRequest:returningResponse:error: returns an NSData object and not the NSURLResponse you have used.
Daniel Wood