Ευχαριστω
Πως οι εφαρμογές αντλούν πληροφορίες από ένα site?
Από
aromeo
, 04/07/2010 16:20
3 μηνύματα σε αυτό το θέμα
#1
Δημοσίευση 04/07/2010 - 16:20
Παιδια εχω να κανω μια ερωτηση.Πως οι εφαρμογες αντλουν πληροφοριες απο ενα site?Με http request?Εχω χαθει λιγο 
Ευχαριστω
Ευχαριστω
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 δεν εχει......
ευχαριστω εκ των προταιρων.....
Χρήστες που διαβάζουν αυτό το θέμα: 1
0 μέλη, 1 επισκέπτες, 0 ανώνυμοι χρήστες





