Я пытаюсь найти способ автоматического входа на этот сайт, передав имя пользователя и пароль в URL-адрес, но я не могу заставить его работать.Войти на сайт .do автоматически (xcode)
URL-адрес является: https://egov.uscis.gov/casestatus/displayLogon.do
Я пробовал: https://egov.uscis.gov/casestatus/displayLogon.do?username=myUsername&password=secretPassword
, но он не работает. Есть идеи?
Я попытался это, но не повезло:
NSString *Url = @"https://egov.uscis.gov/casestatus/logon.do";
NSString *username = @"username";
NSString *password = @"password";
NSString *soapMessage = [NSString stringWithFormat:@"username=%@&password=%@", username, password];
NSURL *url = [NSURL URLWithString:Url];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%lu", (unsigned long)[soapMessage length]];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
--- Update --- Вот где я в настоящее время, до сих пор не могу войти.
password = [password stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
username = [username stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
namePassword = [namePassword stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
nameUsername = [nameUsername stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"https://egov.uscis.gov/casestatus/logon.do"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *postData = [NSString stringWithFormat:@"%@=%@&%@=%@", nameUsername, username, namePassword, password];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[postData dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
self.connection = connection;
[connection start];
Из источника: '
Как вы пробовали запрос POST? – Popeye
Кажется, я не могу заставить запрос POST работать. – FlatDog