Παιδια εχω να κανω μια ερωτηση.Πως οι εφαρμογες αντλουν πληροφοριες απο ενα site?Με http request?Εχω χαθει λιγο
Ευχαριστω
Πως οι εφαρμογές αντλούν πληροφορίες από ένα site?
Από
aromeo
, 04/07/2010 16:20
3 μηνύματα σε αυτό το θέμα
#1
Δημοσίευση 04/07/2010 - 16:20
Ad
#2
Δημοσίευση 07/07/2010 - 00:33
Εάν θέλεις να το κάνεις με http εδώ είναι ο κώδικας για αρχή:
Ο κώδικας εδώ κάνει upload ένα αρχείο. Θα μπορούσε το δικό σου php να επιστρέφει τα δεδομένα που θέλεις ανάλογα με τα uploaded data.
Για να μη μπλοκάρει το σύστημα, επειδή η κλήση δεν είναι ασύγχρονη, κάλεσε τον παραπάνω κώδικα ως εξής:
- (void) sendSyncDataSynchronously:(id)sender{ NSLog(@"sending Synchronous request"); NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; NSURL * theURL = [NSURL URLWithString:@"http://www.yourwebsite:yourport/code/upload.php"]; NSMutableURLRequest *postRequest = [[NSMutableURLRequest alloc] initWithURL:theURL]; //adding header information: [postRequest setHTTPMethod:@"POST"]; NSString *stringBoundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",stringBoundary]; [postRequest addValue:contentType forHTTPHeaderField: @"Content-Type"]; //setting up the body: NSMutableData *postBody = [NSMutableData data]; [postBody appendData:[[NSString stringWithFormat:@"--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"uploadFile\"; filename=\"%@.plist\"\r\n", _deviceToken] dataUsingEncoding:NSUTF8StringEncoding]]; [postBody appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [postBody appendData:[NSData dataWithContentsOfFile:syncDataZippedFilePath()]]; [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]]; [postRequest setHTTPBody:postBody]; NSError *requestError; NSData* myData = [NSURLConnection sendSynchronousRequest:postRequest returningResponse:nil error:&requestError]; NSString *checkResponse = [[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding]; NSLog(@"%@", checkResponse); [checkResponse release]; if ([NSURLConnection canHandleRequest:postRequest]){ NSLog(@"OK with request"); } else { NSLog(@"Cannot handle request"); } if (myData == nil) { // Check for problems if (requestError != nil) { NSString *errorIdentifier = [NSString stringWithFormat:@"(%@)[%d] -> %@",requestError.domain, requestError.code, [requestError description]]; NSLog(@"Upload error:%@", errorIdentifier); } } else { NSLog(@"Data uploaded successfully"); // Data was received.. continue processing [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"LastSuccesfulDateSend"]; [[NSUserDefaults standardUserDefaults] setObject:self._newHashString forKey:@"MD5HashString"]; [[NSUserDefaults standardUserDefaults] synchronize]; NSString *aString = [[NSUserDefaults standardUserDefaults] objectForKey:@"MD5HashString"]; NSLog(@"Hash value stored: %@", aString); } [postRequest release]; [pool drain]; }
Ο κώδικας εδώ κάνει upload ένα αρχείο. Θα μπορούσε το δικό σου php να επιστρέφει τα δεδομένα που θέλεις ανάλογα με τα uploaded data.
Για να μη μπλοκάρει το σύστημα, επειδή η κλήση δεν είναι ασύγχρονη, κάλεσε τον παραπάνω κώδικα ως εξής:
[self performSelectorInBackground:@selector(sendSyncDataSynchronously:) withObject:nil];
#3
Δημοσίευση 07/07/2010 - 19:40
Φιλε nickbit χιλια ευχαριστω.Θα μελετησω προσκετικα τον κωδικα οταν επιστρεψω σπιτι στο mac.Να σαι καλα
Ευχαριστω και παλι!
Ευχαριστω και παλι!
#4
Δημοσίευση 06/04/2011 - 01:03
Καλησπερα,
εχω ενα siteτο οποιο δεν ειναι δυναμικο κ αλλαζει καθε 6 μηνες, τι πρεπει να κανω για να γινει σαν app se iphone???
rss feed δεν εχει......
ευχαριστω εκ των προταιρων.....
εχω ενα siteτο οποιο δεν ειναι δυναμικο κ αλλαζει καθε 6 μηνες, τι πρεπει να κανω για να γινει σαν app se iphone???
rss feed δεν εχει......
ευχαριστω εκ των προταιρων.....
Χρήστες που διαβάζουν αυτό το θέμα: 3
0 μέλη, 3 επισκέπτες, 0 ανώνυμοι χρήστες