iphone http发布到公共服务器=好,但尝试在我的服务器=坏

我已经做了一个基本的HTTP后发送到服务器,并收到XML数据,所以这是很好的。

那么,我决定安装MAMP并创build我的第一个PHP页面;-)

从我所做的所有search引擎中,我怀疑这是一个utf-8 / encoding / newline的问题,但它正在驱动我的屁股;-)

PHP服务器获取http发布数据,但不能转换成XML,所以在这一点上是失败的(参见debugging结束和variables是空的)。

感谢您的任何build议!

这是目标-C:

NSString *postString = [NSString stringWithString:@"xml=<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"]; postString = [postString stringByAppendingString:@"<note>\r\n"]; postString = [postString stringByAppendingFormat:@"<tasks>%@</tasks>\r\n", @"task1234"]; postString = [postString stringByAppendingFormat:@"<details>%@</details>\r\n", @"det1"]; postString = [postString stringByAppendingString:@"</note>\r\n"]; NSURL *url = [NSURL URLWithString:@"http://localhost:8888/xmltest.php"]; NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; NSString *msgLength = [NSString stringWithFormat:@"%d", [postString length]]; [req addValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"]; [req setHTTPMethod:@"POST"]; [req addValue:msgLength forHTTPHeaderField:@"Content-Length"]; [req setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 

这里是PHP:

 <?php $form_input = $_POST['xml']; $objDOM = new DOMDocument(); $objDOM->loadXML($form_input); echo "here1: $form_input \n"; $note = $objDOM->getElementsByTagName("note"); echo "here2\n"; print_r ($note); foreach( $note as $value ) { echo "here3\n"; $tasks = $value->getElementsByTagName("tasks"); $task = $tasks->item(0)->nodeValue; echo "$task :: $detail <br>"; } 

和debugging输出:

 here1: <?xml version=\"1.0\" encoding=\"utf-8\"?> <mynotes> <note> <tasks>task1234</tasks> <details>details1234</details> </note> </mynotes> here2 DOMNodeList Object ( ) 

试试ASIHTTPRequest