2011-09-12 30 views
0

如何將xml作爲參數與Objective C一起發佈?xml post作爲目標參數C

我已經在xml中發送了一個用戶名和密碼到服務器。我試過使用ASIFormDataRequest。我發佈了xml,服務器給出了「用戶名或密碼爲false」的錯誤。我認爲服務器不解析發佈xml。有沒有辦法將xml作爲參數發佈?

NSURL *url = [NSURL URLWithString:@"url code"]; 

ASIFormDataRequest *request1 =[ASIFormDataRequest requestWithURL:url]; 

[request1 setPostValue:"xml block" forKey:@"data"]; 
[request1 addRequestHeader:@"Content-Type" value:@"application/xml;"]; 
[request1 setDelegate:self]; 
[request1 startSynchronous]; 

回答

0

是的。看看我的例子:

NSString *message = [[NSString alloc] initWithFormat:@"<?xml version=\"1.0\" ?>\n<parameters></parameters>"]; 

    url = [NSURL URLWithString:@"https://https_url.com"]; 
    request = [NSMutableURLRequest requestWithURL:url]; 
    NSString *msgLength = [NSString stringWithFormat:@"%d",[message length]]; 

    [request addValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
    [request addValue:msgLength       forHTTPHeaderField:@"Content-Length"]; 

    [request setHTTPMethod:@"POST"]; 
    [request setHTTPBody:[message dataUsingEncoding:NSUTF8StringEncoding]]; 
    [message release]; 
+0

XML必須張貼數據= 「XML參數」,所以我一直在使用 試圖[request1 setPostValue: 「XML塊」 forKey:@ 「數據」。但這不是一個解決方案。任何建議? – user940026

+0

以這種方式發送xml是個不好的解決方案......在這種情況下,您的內容類型不是xml ......請嘗試我已經描述的 – Nekto

+0

我需要一個鍵和一個值(xml參數)進行發佈。我如何在代碼中添加「數據」鍵? – user940026