1
我有一個iPhone應用程序應該發送POST數據到我的服務器上註冊設備在MySQL數據庫中,所以我們可以發送通知等等。它將它的唯一標識符,設備名稱,令牌以及其他一些小的東西(如密碼和用戶名)作爲POST請求發送到我們的服務器。問題在於有時服務器沒有收到數據。我的意思是,它不僅僅是接收POST輸入的空白值,而是根本不接收任何後期數據。我將所有POST輸入記錄到我的服務器中,記錄到某些日誌文件中,並且當依賴於來自設備的POST數據的腳本失敗時(檢測不到數據),我注意到它是因爲沒有發送POST數據。這是服務器上的一個問題,就像拒絕數據或者其他事情一樣,還是必須在客戶端?什麼可能導致這個?POST數據沒有從iPhone收到
iPhone代碼:
NSString *post = [NSString stringWithFormat:@"deviceIdentifier=%@&deviceToken=%@",deviceIdentifier,deviceToken];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:@"http://website.com/RegisterScript.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"MyApp-V1.0" forHTTPHeaderField:@"User-Agent"];
[request setHTTPBody:postData];
NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *response = [[NSString alloc] initWithData:urlData encoding:NSASCIIStringEncoding];