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 1 dan, 11 sati
  • smayoo: @mrobert, forum, tema "eOI - opet diskriminacija"
  • stefanjos: SRETNA NOVA!
  • drlovric: [link]
  • signout: Sretna Nova!
  • zoranowsky: Sretna Nova!
  • dpasaric: Sretno nam svima! :)
  • Borisone: Sretna vam 2026-ta godina!
  • Gjuroo: Sretna i berićetna 2026.!
  • smayoo: SRETNAAAAAAAA!!! :D
  • Borostef: Sretna Nova godina!!! :)
  • Air: Sretna i uspješna nova!
  • drpongrac23: Sretna nova 2026. svima!!!
  • pontmax1: Ima li šampanjac ili samo Pepsi bez šećera :D
  • Yonkis: Sretan Božić svima!
  • vjeko1: Sretan Božić svima!
  • jura22: Sretan Božić i blagoslovljeni mi bili svi bez obzira na sve!
  • Gjuroo: Sretan Božić, ekipa!
  • zoranowsky: Sretan Božić svima! :)
  • Djuro genijalac: Sretan Žićbo!
  • Bertone: Sretan Božić!
  • dpasaric: Sretan Božić! :)
  • smayoo: Sretan Božić! :)
  • drpongrac23: Svima koji slave, čestit i blagoslovljen Božić!!!
  • drpongrac23: U peći na drva, naravno, legendarnom Smederevcu!
  • drpongrac23: Da li su svi pripremili purice, janjetinu, odojke, mlince za sutra?!?! Moja je purica nasoljena i čeka jutarnje pečenje!!!
  • imenso: Evo molio bih ako imate 2-3 minute vremena i volju proslijediti dalje za riješiti jednu anketu: [link] Potpuno je anonimno
  • Bertone: Aaaa tooo,... baš sam tutlek :) ... vidi se OK, evo pikčr: [link] ... i sorry na lošoj kvaliteti slike, jbg, nemam sad pri ruci bolju :)
  • smayoo: Mislim da je @iAntu zanimalo kako se vide gravirana slova kad je isključeno osvijetljenje od ispod, dok je dnevno svjetlo
  • Bertone: Nema razlike u količini/vidljivosti svijetla koje dolazi ispod/kroz tipke u odnosu na originalna slova, jedina razlika je mrvicu manji font uz napomenu da sam do sada radio samo lasersko graviranje na ThinkPadima T serije. Planirao sam jednom odnijeti i jedan MBP ali nisam nikad stigao.
  • iAnte: @bertone jesu li gravirana znakovi vidljivi i u dobro osvijetljenim prostorima?
  • dpasaric: Legenda.
  • smayoo: RIP Chris Rea... :(
  • VanjusOS: ovo lasersko graviranje izgleda odlično, nikakve naljepnice!
  • Bertone: ... i da, mislim da je sad graviranje oko 20€
  • Bertone: Lasersko graviranje, baci oko na [link] , ovako izgleda na T14s koji sam nosio kod njih s time da nisam htio baš sve znakove nego samo par osnovnih, tipkovnica je isto bila DE [link]
  • jura22: Radije kupi naljepnice. Ima ih na oglasniku: [link]
  • Riba: Puno, jer ako se ne varam mora se mijenjati kuciste.
  • CoffeePod: Kupio MBP16" M4, al tipkovnica je njemacka. Zna li se koliko bubvrega dode zamjena tipki da mi bude HR?
  • Soffoklo: Misliš bravo retardirana EU birokracija
  • drpongrac23: Bravooo Apple, super!!!
  • m@xym: a evo i pojašnjenja: [link]
  • Yonkis: In iOS 26.2, Wi-Fi network synchronization between iPhone and Apple Watch will no longer be available in the EU.
  • hal9000: HAHAHAHAHAHA: [link]
  • dpasaric: Iskreno, i meni Liquid Glass ide na živce i nije im to trebalo. Srećom barem se na iPhoneu lako ugasi u onim opcijama za invalidne osobe.
  • Borisone: Ne znam što su se svi uspuhali oko Liquid Glass, a tragediju od prikaza UI-a na ne-retina ekranima se tolerira više od desetljeća.
  • CoffeePod: Dyeovog odlazak je mozda najbolja stvar. Racunam da ce implementirat malo nazad Mavericks draži i da će utišat Liquid Glass gimmick. Apple se stvarno mora sjetiti da ljudi vole Apple upravo radi blenda vrhunskog hardware i software koji je funkcionalna koliko i lijepo izgleda. Liquid Glass je form over function 101.
  • Yonkis: Sa novim WApp updateom funkcionalan WhatsApp app na Apple Watchu.
  • IgorD: Zašto ne bi bilo istina? O tom se govori danima, neki ljudi slave što je Dye otišao. Trebao si otvoriti temu
  • Djuro genijalac: Sve mi se čini da je ovo istina..?
  • Djuro genijalac: [link]

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Air, baka, drlovric, Ender, marioart, rusty, smayoo, tino1, Anonimci (1280)

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.91 Seconds

Provided by iJoomla SEO