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 21 sati, 5 minuta
  • Yonkis: Kradljivci našli nov način krađe Apple proizvoda [link]
  • zoranowsky: Al me ložite :)
  • Yonkis: zoranowsky - kako reče jedan korisnik M1Pro-a: I think the sweet spot is M2 Pro as of right now. I really don't see a reason to get M3 Pro - it has lower memory bandwidth, less P-cores , and it costs more. But if you're on M1 Pro... Just don't upgrade, there is no point.
  • accom: [link]
  • accom: @zoranowsky, u krivu sam
  • accom: Mislim, da je baš M2Pro najslabiji od svih M Pro procesora, sa više energy efficiency jezgri...
  • accom: Ako često obradjuješ video, onda pro. Sam bi preferirao novije gen. CPU.
  • accom: [link]
  • accom: @zoranowsky Za sve DTP programe dosta ti je air:
  • kupus: protonvpn na 3 dolara mjesečno
  • drlovric: [link]
  • drlovric: Jako zanimljiva i pregledna lista korisnih Mac aplikacija.
  • zoranowsky: Znam, u pravu si. Imam thunderbolt 27
  • drlovric: Ako imas vanjski monitor u svakodnevnom radu, uzmi 14". Ja sam pogrijesio sa 16". Ogroman je to laptop :)
  • zoranowsky: Dilema je taj M2Pro ili odriješiti kesu i uzeti M4Pro ali s 14" ekranom (24GB/1TB)
  • zoranowsky: @accom - Affinity, Adobe CC, DaVinci Resolve. Imam trenutno 512GB u 2 MBPro-a tak da sam se navikao.
  • drlovric: Ja imam MBP sa 512 MB, nemam problem sa prostorom. Oko 300GB je puno mozda.
  • accom: @zoranowsky Sve ovisi o tome, što želiš radit s njim.
  • zoranowsky: Nije jedini stroj, to je neka donja granica, za sve ostalo imam externe ssd-e i synology
  • Yonkis: Ne nađoh jeftiniju cijenu (u RH) od toga.. A hoće li ti 512 biti dovoljno?
  • zoranowsky: Zaboravih napisati, trenutno je u HGShopu na akciji
  • zoranowsky: Jel se isplati uzeti MBPro M2pro 16" 16/512 za 2100eur?
  • gladhr2: zna netko neko rjesenje?
  • gladhr2: [link] problem sa bluetoothom i 4. uređajem :D
  • JOHN: Hvala na info
  • Yonkis: Imaš na adidas.hr ali do 28.11 stoga požuri
  • stefanjos: affinity je na 50%
  • JOHN: Ja jučer u CCOne kupio kćeri tenisice. Bile su čitavih 20% na akciji. :) Takva akcija je ustvari neka uobičajena koja se pojavi gotovo svaki mjesec tako da i ovaj put teški bulšit..
  • drlovric: Imal kakvih Black Friday popusta? :) Neko vidio nesto zanimljivo?
  • ^SuperUnknown^: Jel to samo meni potrgan layout Oglasnika? :)
  • smayoo: Nije to baš besplatan način. To sve tako radi kako si opisao, ali windowsi te upozoravaju da nisu aktivirani
  • ping: @VanjusOS ima. Downloadiraj DEMO version parallelsa za M procesrore. To će ti downloadirati windows for arm kao .iso file. Instaliraj UTM virtual machine i windowse koje si skinuo.
  • JOHN: izuzev telekom operatera i sl.
  • JOHN: to je sve ilegala
  • JOHN: Pazite se skime imate aranžamne
  • JOHN: Čini se da više neće biti IPTVa, za đabalesku ili ga više uopće neće biti u ponudi.
  • smayoo: [link]
  • stefanjos: podsjetnik svim dobrim ljudima za iparty :)
  • jmustac: poslano
  • Riba: Javi se meni s detaljima.
  • jmustac: kako obrisati profil na ovom forumu?
  • rusty: @marioart - ovisi o hipervizoru, ali ukratko da. Moguće je dobiti emulaciju x86 na ARM bare metal stroju. UTM hypervisor kojeg osobno koristim nudi u mogućnost. Jasno, to zovu emulacijom, ne virtualizacijom ali eto
  • marioart: @rusty .. moze li se ikako dobiti x86 win kroz virtualizaciju?
  • stefanjos: drlovric. pa odgovaranje poruka na aplikacijama koje namu mac app i ako se puni da ne secem po mob, rijesim preko maca i to je to
  • rusty: Virtualizacija bi bio moj odabir, e sada da li je besplatno ili ne, ovisi o tome kako ćeš tu kopiju licencirati
  • VanjusOS: ima li nekakav besplatni način za imati Windows na Macbook sa M čipovima?
  • drlovric: Za sta ti konkretno mirroring sluzi? Ja mu nisam nasao primjenu :/
  • stefanjos: affinty na popustu 50%. ja sam si uzeo novu licensu. do sada sam bio na v1
  • stefanjos: tako da, meni je to top feature
  • stefanjos: ja imam australski app store i iphone mirroring koristim svaki dan

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 1.22 Seconds

Provided by iJoomla SEO