NSURLConnection
(1 korsinik/a gleda/ju temu) (1) Gost

NSURLConnection


30.03.2011 | 16:37
Pozdrav, imam problema sa loginom na server, pa ako neko zna... Ovo je kod
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
	NSURL *url =[NSURL URLWithString:@"https://www.facebook.com/login.php?login_attempt=1"];
	NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:url];
	[NSURLConnection connectionWithRequest:request delegate:self];
	[request release];
}

-(void)connection:(NSURLConnection *)connection
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
	if ([challenge previousFailureCount]==0) {
		NSURLCredential *cred=[NSURLCredential credentialWithUser:@"user" password:@"pass" persistence:NSURLCredentialPersistenceNone];
		[[challenge sender] useCredential:cred forAuthenticationChallenge:challenge];
	}
	
}


Primim challenge ali mi neuspije login. Jeli netko zna u čemu je problem?
30.03.2011 | 23:27
Forumi mrze programere koliko vidim...

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
   NSURL *url =[NSURL URLWithString:@"https://www.facebook.com/login.php?login_attempt=1"];
   NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:url];
   [NSURLConnection connectionWithRequest:request delegate:self];
   [request release];
}

-(void)connection:(NSURLConnection *)connection
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
   if ([challenge previousFailureCount]==0) {
      NSURLCredential *cred=[NSURLCredential credentialWithUser:@"user" password:@"pass" persistence:NSURLCredentialPersistenceNone];
      [[challenge sender] useCredential:cred forAuthenticationChallenge:challenge];
   }
   
}
31.03.2011 | 15:16
Primim challenge ali mi neuspije login. Jeli netko zna u čemu je problem?

Siguran da primiš challenge? Ja pokrenem gornji kod i ne primim ga. Ali, ako implementiram didReceiveData:, primim kompletnu login stranicu kao HTML.
31.03.2011 | 15:55
Primim. Ali ja sam još implementiro ovu metodu.
- (BOOL)connection:(NSURLConnection *)connection 
canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace{
	 printf("prot_space-");
	 NSLog(@"%@",protectionSpace.authenticationMethod);
	 return YES;
}

Bez nje ni ja ne primim.
31.03.2011 | 19:40
Primim. Ali ja sam još implementiro ovu metodu.

OK. To je bila karika koja nedostaje. U tom slučaju, meni login radi uredno - ali ne u Facebook. Testirao sam na webu koji traži username/password koristeći .htaccess (u browseru se pojavi standardni login panel). Nisam se nikad igrao s Facebookom (pa tako ni s logiranjem u njega), ali vidim da submita formu (kao username/pass, preko POSTa) pa postavljam sljedeće pitanje - jesi li siguran da bi ovaj kod uopće trebao raditi s takvim oblikom autorizacije?

Ako proslijediš username/password preko POSTa, uredno će te logirati.
01.04.2011 | 01:30
Ako proslijediš username/password preko POSTa, uredno će te logirati.

Evo, da ne ostane na teoriji...

NSURL *url = [NSURL URLWithString:@"https://www.facebook.com/login.php?login_attempt=1"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[@"email=USER%40gmail%2Ecom&pass=PASSWORD&persistent=1" dataUsingEncoding:NSASCIIStringEncoding]];
[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
[request release];

Kod setHTTPBody pripazi na encoding. U primjeru šaljem username Ova e-mail adresa je zaštićena od spam robota, nije vidljiva ako ste isključili JavaScript i password PASSWORD. Password je "čist", a username sam "pješke" encodirao u "USER%40gmail%2Ecom", da kod bude čim kraći. Usput šaljem i "persistent=1" da ostanem logiran u Facebook. Kompajliraš, pokreneš i ako digneš www.facebook.com u browseru, vidjet ćeš da si uredno logiran.

Ako je poanta logina nešto raditi dalje u kodu, onda će ovo biti korisnije:

NSURL *url = [NSURL URLWithString:@"https://www.facebook.com/login.php?login_attempt=1"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[@"email=USER%40gmail%2Ecom&pass=PASSWORD" dataUsingEncoding:NSASCIIStringEncoding]];

NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] autorelease];
NSLog(@"%@", responseString);
[request release];

Ovo gore će u konzoli ispisati Facebook stranicu u koju smo se logirali. Nema onog "persistent=1" pa nakon što se program izvrši, Facebook neće reagirati na pokušaj dizanja u browseru (barem ne dok ne uneseš username/pass).

Pomaže li ti štogod od ovoga?
01.04.2011 | 14:27
Ma kako ne pomaže. Hvala puno.
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 18 sati, 26 minuta
  • iAnte: Ima li netko iskustva sa zamjenom USB porta na 15 pro? iStyle kaže da mijenja cijelu matičnu ploču, a vidim da se sam USB port prodaje na iFixit. Kako rade zamjenski dijelovi, stoji li u postavkama poruka da je instaliran zamjenski dio?
  • Riba: $49, one time.
  • VanjusOS: koliko se plaća RetinaRelay, vidim da je 7 dana free trial?
  • CoffeePod: Drugi link guglaj samo RetinaRelay
  • Pongy75: Sony i ekipa uskoro na aparatima, ako već i nisu. Pohlepa se na kraju obije u glavu… Masovni izlazak portova igara za gotovo sve PS generacije, a ovo je tek početak. [link]
  • VanjusOS: Drugi link ne mogu otvoriti
  • CoffeePod: Radi nevjerojatno dobro
  • CoffeePod: I koristis jednu od ove dvije aplikacije
  • CoffeePod: [link]
  • CoffeePod: [link]
  • CoffeePod: USB kabel, ili thunderbolt kabel (na drugom kraju koristis konverter Thunderbolt 2 na C npr)
  • VanjusOS: kako spajate iMac kao dodatni monitor, sa kojim uređajem spajate? Macbook ili nešto drugo?
  • Riba: Ja bacio oko na brzinu na Vinted, ima novih u kutiji za 50 eura i polovni za 40tak.
  • vodka29: Dodatno, ako netko ima dodatnu ideju kako produžiti život Apple Thunderbolt displayu, javite :D
  • vodka29: Pogledam, hvala.
  • CoffeePod: Mislim da sam vidio da čak ima. Al evo gledam ima ih i po eBayu u UK i nizozemskoj za 50-70€
  • vodka29: "Narucio preko Vinteda iz Rumunjske" ima li još koji na lageru? :D
  • CoffeePod: Ali Thunderbolt 2 nam treba da maknemo latency (RetinaRelay super app al je 40$)
  • CoffeePod: Inace, probali OpenDisplay app i uredno iMac radi kao eksterni ekran :)
  • CoffeePod: Narucio preko Vinteda iz Rumunjske
  • vodka29: Kupujem Thunderbolt 1 ili 2 kabel, Zagreb idealno.
  • Riba: Srecom imam jedan ali mi treba za vanjski disk.
  • Riba: CoffeePod, uh, sretno. To je bas unobtanium ili po suludim cijenama na ebayu.
  • CoffeePod: Ima netko za prodati Thunderbolt 2 kabel?
  • Yonkis: Sjeća li još netko OS 1.0 [link]
  • dpasaric: HomeView brzinski osvrt na naslovnici!
  • Yonkis: Možda imaš tonu mailova i još ih nije “prožvakao”?
  • drlovric: Ma ne radi nista vjeruj mi. Sprdacina od asistenta. Ljudi u EU su spasili sto to nemaju. Jedino sto zna malo bolje fotografije pretrazivati. To sam primjetio.
  • Yonkis: drlovric - a na kojem jeziku pričaš? Jesi probao Yoda načinom/govorom?
  • drlovric: Siri nije nu stanju pronaci jedan jedini email iz Apple Mail app. Ovo kontekstualno preseravanje su ciste lazi i obmane. Glupa je kao i ranije, samo HW zahtjevnija sto nam generira skuplje uredjaje.
  • Borostef: Ali od HomeView-a nista do daljnjeg u EU
  • Yonkis: Sam Tucker je to odlično pojasnio, kako je iPad Mini imao intimne odnose sa raznoraznim Apple uređajima [link]
  • drlovric: AppleTV skuplji duplo jer ima Siri. Zvucnik 50% poskupio jer je sad kao pametniji :P Siri i pamet. Mos misliti…
  • drlovric: I sve uredjaje poskupili na ime Siri AI. Vec vidim nove sudske procese. Nista nisu naucili iz onog Appme intelligence fijaska :)
  • Piko: to i je iPad "nano" zalijepljen na HomePod ...
  • drlovric: Ovo bi sve mogao raditi iPad, samo da zele to omoguciti. To mi je nekakav prvi dojam.
  • drlovric: Stigao nam HomeView :)
  • Djuro genijalac: Eto, i to se događa (koji click-bait..! LOL)
  • Djuro genijalac: [link]
  • Riba: Skinuo, tnx!
  • Soffoklo: Odličan app koji je puno informativniji od Activity Monitora, a dev je tvorac originalnog Windows Task Manager - [link]
  • Krehacro: Na kraju uzeo garmin venu 4
  • Gjuroo: RIP
  • Pongy75: RIP Bare - Napustio nas je jedan od najvećih
  • Yonkis: RIP Goran Bare
  • Riba: Pomalo, sutra tek idem po G5. :)
  • markoveic: riba, kako radi Morphos?
  • Riba: Cider!
  • smayoo: Živ ti nama bio još 100 godina! :)
  • markoveic: nakon xx godina navartio da vidim dal ste zivi, i zivi ste.... Evo mene molji ljudi dosa san vam na bevandu...sok od jabuke :)

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.98 Seconds

Provided by iJoomla SEO