NSURLConnection을 사용하여 POST 데이터를 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
안녕하세요, HTTP Content-Type과 함께 "text/xml; charset = utf-8"을 사용하고 있지만 요청을 보내는 것은 괜찮습니다. "application/xml; charset = utf-8"을 사용하고 HTTP Content-Type을 함께 사용하는 것이 문제입니다. , 데이터가 반환됩니다 : "서버가 미디어 유형이 지원되지 않기 때문에 요청을 처리 할 수 없습니다". 그럼 어떻게 될까요? – AmyNguyen