我在將POST數據發送到使用NSURLConnection的PHP腳本時遇到了一些問題。這是我的代碼:使用NSURLConnection發送POST的iPhone
const char *bytes = [[NSString stringWithFormat:@"<?xml version=\"1.0\"?>\n<mydata>%@</mydata>", data] UTF8String];
NSURL *url = [NSURL URLWithString:@"http://myurl.com/script.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[NSData dataWithBytes:bytes length:strlen(bytes)]];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);
而我的script.php是如此簡單:
<?php
echo $_POST['mydata'];
?>
這在過去爲我工作,但由於某種原因輸出,我從NSLog(@"responseData: %@", responseData);
自拔只是「<>」而不是「theData」。
在某處可能有些蹩腳的錯誤,但我似乎無法找到它?有任何想法嗎?
啊是啊......歡呼聲。但是responseData輸出就像「<48656c6c 6f326f72 6c64>」,不要用%@打印NSData嗎? –
謝謝[請求setValue:@「xxx」forHTTPHeaderField:@「Content-Type」]; – Nils
嗨,我使用「text/xml; charset = UTF-8」與HTTP內容類型,發送請求是好的,但我使用「應用程序/ xml;字符集= UTF-8」,並一起去HTTP內容類型是問題,數據將返回:「服務器無法處理請求,因爲媒體類型不受支持」。那麼發生了什麼? – AmyNguyen