Mam UIWebView
, który ładuje stronę internetową, która uwierzytelnia użytkownika. Witryna tworzy plik cookie uwierzytelniania. W przeglądarce, jeśli nie wyczyścisz plików cookie, zawsze będziesz zalogowany. Po załadowaniu xCODE może zobaczyć plik cookie wymieniony podczas przeglądania pliku cookie, ale nie jest wysyłany do webView. Chciałbym wiedzieć, jak uczynić webView świadomym, że plik cookie auth istnieje, aby nie monitował użytkownika o uwierzytelnianie za każdym razem.iOS UIwebView Auth Cookies
Odpowiedz
Możesz użyć klasy NSURLConnection, aby wykonać żądanie HTTP, aby zalogować się do witryny i pobrać plik cookie. Aby wykonać żądanie, wystarczy utworzyć instancję NSURLConnection i przypisać do niej obiekt delegowany.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
Następnie zaimplementuj metodę przekazania.
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response;
NSDictionary *fields = [HTTPResponse allHeaderFields];
NSString *cookie = [fields valueForKey:"Set-Cookie"]; // It is your cookie
}
Zachowaj lub skopiuj ciąg znaków cookie. Aby wykonać inne żądanie, dodaj je do nagłówka HTTP instancji NSURLRequest.
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]];
[request addValue:cookie forHTTPHeaderField:"Cookie"];
Aby usunąć ciasteczka w każdej chwili można wywołać tej metody:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {
[cookieStorage deleteCookie:each];
}
I rozwiązać problem. Problem związany jest z konfiguracją, ponieważ interfejs UIWebView nie jest postrzegany jako standardowa przeglądarka internetowa. Uwierzytelniam użytkownika poprzez .net i IIS. Dodałem plik generic.browser do katalogu App_Browser mojej witryny. Zawartość pliku jest:
<browsers>
<browser refID="Mozilla" >
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
<browser refID="Default">
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
</browsers>
Linia, która koryguje kwestią jest zdolność pozwalając cookies.
Odniesienie do rozwiązania kiedyś było to
Można odczytać plik cookie uwierzytelniania z wszystkich stron internetowych za pomocą udostępnionego przechowywanie plików cookie.
NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies])
{
NSLog(@"%@", cookie);
}
lub uzyskać .NET aspxauth cookies na swojej stronie
NSArray *cookiesForURL = [cookieJar cookiesForURL: [NSURL URLWithString: **MYURL**]];
for (cookie in cookiesForURL)
{
if([cookie.name compare:@".ASPXAUTH"] == NSOrderedSame)
{
NSLog(@"%@", cookie);
break;
}
}
- 1. Kontrola iOS uiwebview goBack
- 2. iOS UIWebView wewnątrz UIScrollView
- 3. druku iOS powietrza dla UIWebView
- 4. Słuchanie zdarzeń w UIWebView (iOS)
- 5. iOS 6 facebook Auth Status aplikacji
- 6. jonowa/firefase ipv6 odrzucenie aplikacji Auth ios
- 7. UIWebView loadRequest: ciągłe niepowodzenie z NSURLErrorTimedout w iOS 6
- 8. iOS 7 UIWebView nie ładuje strony internetowej
- 9. iPad Pro "HTTP_USER_AGENT" z iOS UIWebView
- 10. ios - UIWebView DidFinishLoad nie nazywa się
- 11. Emotikon i UIWebView w iOS 5
- 12. Facebook-ios-sdk z wbudowanym UIWebView
- 13. UIWebView nie ładuje adresu URL, iOS
- 14. iOS UIWebView awarii podczas próby URL żądania
- 15. UIWebView iOS 5: crash WebKit/JavaScriptCore
- 16. Łącze do przechwytywania UIWebView w iOS kliknij
- 17. Komentarze na Facebooku w iOS UIWebView
- 18. Jak wyświetlać treści HTML na UIWebView IOS
- 19. UIWebView pokazuje pusty ekran w iOS 8
- 20. iOS 5 i iOS 6 - Różnica w zachowaniu UIWebView
- 21. szyderczy Cookies z Kątowymi
- 22. OWIN Cookies vs FormsAuthentication
- 23. Pierwsze cookies w serwletu
- 24. Emulate ASP.NET uwierzytelnianie cookies
- 25. Zabezpieczanie Cookies Sesje
- 26. Get cookies z HttpWebRequest
- 27. JQuery Cookies Set Ważność
- 28. stron internetowych na ciasteczka nie są wykrywane przez UIWebView
- 29. Android Cookies (nagroda za zaproszenie)
- 30. Jquery przystanek HTML kodowanie cookies
Ok, jestem nowy w Xcode i mam pytania na ten temat. Możesz nazwać mnie imionami, jeśli są zbyt proste. W pliku AppDelegate.m próbuję zadeklarować NSURL i NSURLConnection i dostałem błąd kompilatora o tych nie beign stałych. Wdrożyłem delegata również w AppDelagate.m i to kompiluje. NSMutable Nie mam pojęcia, jaką metodę należy zastosować. Jestem pewien, że to są proste pytania, ale naprawdę nie wiem. – Hector