我的NSURLRequest HTTP POST出現問題,我無法找出問題所在。
這是我的服務器端的PHP:
<html>
<head>
</head>
<body>
<?php
if (! isset($_POST['sometext'])) {
echo "NOT SET";
} else {
echo $_POST['sometext'];
}
?>
</body></html>
這是我的目標C代碼發佈數據:
NSString *urlString = @"http://localhost:8888/postpage";
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url];
[url release];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
NSString *postString = @"sometext=Hello&language=en";
NSString *msgLength = [NSString stringWithFormat:@"%d", [postString length]];
[urlRequest setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSString *returnString = [[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil] encoding:NSUTF8StringEncoding];
NSLog(@"%@",returnString);
的NSLog的結果是:
<html>
<head>
</head>
<body>
NOT SET
</body>
</html>
已經感謝
你在哪裏添加您的內容長度和內容類型?服務器檢查這些字段嗎?我可以根據您的回覆添加答案。 – 2011-03-21 13:53:29
看我的編輯。但它仍然不起作用。 – 2011-03-21 14:10:46
你確定你正在使用的編碼風格嗎?也應該不是urlRequest和不請求?你還需要在設置http body之前添加它。你能發佈你實際運行的代碼嗎? – 2011-03-21 14:13:24