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 13 sati, 5 minuta
  • rak21: Je li netko ulovioacbook pro M5 pro za 2200 u instaru? Baš me zanima jel prošla narudžba ili su stornirali jjer su bili jeftiniji 500€ i više od drugih.
  • smayoo: Ja sam nedavno imao tako raspadnut prikaz oglasa u Firefoxu, ispalo je da je problem bio u Ghosteryju
  • CoffeePod: Probao sam Tahoe na M4 MBP i M2 Airu i ono je sramotno na sto lici i kako performa
  • CoffeePod: Ima netko da i dalje odbija preci na Tahoe i iOS26?
  • drlovric: Na iPadu u Sagari oglasnik se raspao. Tekst se preklapa i necitljiv je ispod fotografije artikla.
  • zoranowsky: Kod mene na firefoxu i safariju sve ok s oglasima
  • Yonkis: [link]
  • Yonkis: Jedino na Braveu izgledaju normalno. Firefox, Edge, Safari ne.
  • smayoo: Što se desilo? Meni izgledaju normalno.
  • Yonkis: Što se desilo sa Oglasima? Npr.[link]
  • superstric: obavljeno
  • Yonkis: Obavio svoje
  • dpasaric: Imenso, obavljeno! :)
  • Djuro genijalac: rješeno. Bilo bi lakše da si objavio i točne odgovore, but here we are ;-)
  • imenso: Hvala!
  • Sarek: Riješeno i podijeljeno dalje
  • zoranowsky: Ispunjena anketa
  • smayoo: ispunjena
  • imenso: Svaki glas je važan i hvala unaprijed svakome na rješavanju i(ili) dijeljenju linka. To mi je za sina, za diplomski
  • Yonkis: Nema nas 200 ovdje, samo 300!!!
  • imenso: Ekipa, molio bih ako imate pet minuta vremena da riješite anketu, ne treba više od 5 minuta, moraju skupiti barem 200 odgovora: [link]
  • Djuro genijalac: Meni najbolje: Sori kume, samo Hajduk živi vječno!
  • Ender: chuck norris je pobedio zivot :)
  • smayoo: Rak je prebolio Chucka Norrisa... :)
  • Yonkis: [link] P.U.M Carlos Ray Norris
  • zoranowsky: R.I.P. Chuck Norris
  • Yonkis: generative AI apps paid Apple close to $900 million in App Store fees last year - [link]
  • cariblanco: [link]
  • drlovric: Team MacBook Pro M. Deremo. Ovo je jedna od rijetkih situacija gdje sam ja u vecini :)
  • dpasaric: Anketa je ažurirana novim modelom, znači i dalje ima smisla, govori nam što tko koristi ovdje.
  • Yonkis: p.s. kad će neka nova anketa? :)
  • Yonkis: Može netko Tim Apple pitati što je sa ovim AirDropom, jesu magneti u pitanju ili atmosferski pritisak u pitanju da radi kako je oglašavano?
  • dpasaric: Juhu za Poguea! :)
  • Yonkis: Ajde napokon da se tu nešto slatko pojede, neka bude i kalorijska bomba, preživjeti ćemo :)
  • Performita: Javio mi se David Pogue, pripremam poslasticu za Jabučnjak ????????
  • Yonkis: Ovo nije mjesec ovo je jutro [link]
  • Air: Ha ha, evo radi sa iPhonea - pitam se kad će već ova čuda implementirati u ozbiljnije fotoaparate?
  • Air: [link]
  • Air: probao sam samo C/P, probao sam C/P foru kojom ubacujem link u post, ali nefunkcionira kod mene
  • Riba: Probaj preko nekog url shortenera.
  • Riba: Samo ga upises ali mislim da ju neki znakovi zbune.
  • Air: Kako u vikalicu ubaciti link?
  • smayoo: @Yonkis - meni je to sve poisključivano, uvijek i oduvijek. Jedino imam uključeno da stavlja točku kad lupim dva razmaka i da automatski stavlja veliko slovo iza točke.
  • rusty: First 50 knjiga shipped!
  • Yonkis: Da li i vama iOS tipkovnica krivo ispravlja riječi a zanimljiv mi je ovaj primjer [link]
  • ZoPaj: iPhone Book i iPhone Book Neo
  • Yonkis: Preklopni iPhone, bit će kad tad, samo kako će se zvati? [link]
  • Yonkis: Apple prvih 50 godina [link]
  • Bertone: MA pusti ga, cendra bez veze, da mu je bilo bitno probudio bi se u pet :D
  • Djuro genijalac: A jbg, sori

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.51 Seconds

Provided by iJoomla SEO