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 tjedan
  • drpongrac23: Davno sam vozio "kockicu"
  • drpongrac23: @Yonkis - Kakav BMW - Uskoro kupujem za sebe Citrć Berlingo, jbg, godine...
  • drpongrac23: A zamjena ekrana preko 500 EUR!
  • drpongrac23: WTF?!? Ušle mi neke "bubice" u ekran na MBA M1. Totalni hit!!! 3 kom. BUBA ŠVABE!!!
  • Yonkis: Drpongrac23: a M5? Ne mislim na BMW.
  • drpongrac23: Preko 30 god. vjerni Apple korisnik - sada je vrijeme da zahvalim svima, ali Apple u mojim očima više nije što je nekad bio.
  • drpongrac23: Ovaj novi MacOS - bye, bye Apple!!! Ćesme od svega!
  • drpongrac23: PC za 400 EUR iz Pevexa žvače taj prastari MacPro za gablec :)
  • drpongrac23: U PC svijetu je DDR5 RAM polako standard - o čemu vi pričate?!?
  • BigMac: i ja kažem, prvo bolja pasta, nego zadnji put, i nižaa temperatura, očito prvi put nisam dobro stegao hladnjake, pa su procesori radili na nižem taktu :(
  • dpasaric: Odlično! :)
  • BigMac: Promjenio pastu na starom mac pro, osvježenje ....
  • smayoo: plus je sigurno problematičan, ali nije jedini
  • dpasaric: Više sam zaboravio koji su sve znakovi u pitanju, ali u tome je stvar.
  • dpasaric: I meni se često dogodi na nešto napišem i samo PUF!
  • dpasaric: Jura, na Vikalici se "progutaju" neki komentari jer postoje neki karakteri koje modul Vikalice ne podnosi i onda to sve samo ode u crnu rupu!
  • jura22: Mozda nezasitan?
  • VanjusOS: evo ja sam isprobao i radi! na A1 je moguće sa fizičke SIM prebaciti se na e-SIM na samom telefonu..
  • Borisone: Jer je gladan!
  • jura22: Zasto Jabucnjak guta komentare?
  • smayoo: :D
  • Borisone: Kako prebacuješ eSIM između moba za koji žena smije i za koji ne smije znat?
  • VanjusOS: ali bravo drlovric, nekad su najjednostavnija rješenje i najbolja!
  • VanjusOS: hahaha, problem je što imam službenu SIM karticu, pa ako mi se sjebe moram tražiti od firme da mi šalju novu...
  • drlovric: Pa probas i samo ce ti se kazati jbt. Sta je najgore sto se moze dogoditi? :)
  • VanjusOS: pitam da li je to itko isprobao?
  • VanjusOS: u iphoneu sa fizičkom sim karticom se pojavila opcija da se prebaci ta fizička sim u e-sim
  • VanjusOS: niste me shvatili, očito
  • miomika: na A1 ti samo pošalju na mail/sms ili putem aplikacije Moj A1 i to je to
  • rusty: Prije jedno 3 godine na Tmobile. u 22h navečer putem supporta jer se u protivnom trebalo ići u poslovnicu
  • VanjusOS: da li je netko isprobao funkciju konvertiranja SIM u e-SIM, i na kojoj mreži?
  • ZoPaj: ha ha, nisu li usbC isforsirali upravo radi štednji na punjačima:)
  • dpasaric: I bez punjača... :(
  • Borisone: Danas najavljeni novi iPad Pro, Vision Pro i MacBook Pro 14-inch. Sve s M5 procesorima (bez Pro i Max varijanti).
  • Air: Veliko priznanje Fedora našem Filipoviću - pozvao ga je na boksački meč.
  • Air: Taj pc laptop je imao cijenu cca 800 eura što nije malo
  • Air: Mislio sam da su se malo pomakli u tom smjeru, ali jok
  • Air: trackpad je... hm...
  • Bertone: Rekao sam ti da je kvaliteta izrade loša, ali sam CPU je brži od CPU-a iz MBP 2014/2015,... stavi na njega LinuxMint pa ćeš vidjeti da nije spor ;)
  • Air: Moj MBP 2014 je ferari / Bentley za usporedbu...
  • Air: Moj utisaK da sam ga platio 100-150 eura plakao bi što nisam dao još 150 za MBP 2014 - 2016 godište.
  • Air: Samo da javim, na kraju sam dobio laptop od frenda. Nije htio čuti za nikakve pare. Skro smo se posvađali ali eto pametniji popušta ;)
  • hal9000: Steve Jobs, vrati se! Sve ti je oprošteno! [link]
  • hal9000: Kakva pizdarija: [link]
  • drpongrac23: Meni onaj sa uzorkom krzna leoparda
  • hal9000: @Bertone: Da, jedan od najdražih Wallpapera ikad.
  • Bertone: 5k [link] i 6k [link]
  • Bertone: ... kojeg rado koristim
  • Bertone: Na stranu sad brzina i ispeglenost OS-a ali mom oku je najljepši i najugodniji bio Mac OS X 10.4 Tiger, a nativni Aqua wallpaper mi je i dan danas jedan od nesmetajućih wallpapera.
  • Air: RIP otišao je i HALID...

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

robertM, tino1, Anonimci (1393)

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 1.21 Seconds

Provided by iJoomla SEO