iPhone - Соединение SSL

Каждый пример начальной загрузки языка, о котором я могу думать ( C, PyPy) был сделан после того, как был рабочий компилятор. Необходимо запустить где-нибудь, и перереализация языка сам по себе требует записи компилятора на другом языке сначала.

, Как еще это работало бы? Я не думаю, что даже концептуально возможно сделать иначе.

5
задан ahmet emrah 11 November 2009 в 17:02
поделиться

3 ответа

NSURLConnection по умолчанию работает с SSL и может получать доступ к сайтам https. Могут возникнуть проблемы, связанные с предоставлением пользователю возможности доверять SSL-сертификатам, здесь обсуждение этого вопроса, которое я нашел интересным.

5
ответ дан 14 December 2019 в 13:39
поделиться

Ознакомьтесь с ASIHTTPRequest . Он очень стабилен, не имеет утечек, прост в использовании и включает в себя множество полезных функций, таких как возобновление загрузки файла, поддержка индикатора выполнения и т. Д. Он также имеет поддержку аутентификации

0
ответ дан 14 December 2019 в 13:39
поделиться

Я отправляю образец клиента https. он игнорирует, если сертификат сервера недействителен. на сервере есть метод webget с uritemplate = username ({usercode}) / password ({passcode})

, вы можете использовать CharlesProxy для проверки исходящего сообщения

#import "Hello_SOAPViewController.h"
@interface NSURLRequest (withHttpsCertificates)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host;
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end

@implementation Hello_SOAPViewController


NSMutableData *webData;

- (void)viewDidLoad {

//////////////////////////////////////////////////

//Web Service Call

//////////////////////////////////////////////////

    NSURL *url = [NSURL URLWithString:@"https://192.168.1.105/HelloService/Service.svc/username(user)/password(xxx)"];                           

    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];
    [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];

    [theRequest addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];       

    [theRequest setHTTPMethod:@"GET"];     
    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

    if(theConnection) {
        webData = [[NSMutableData data] retain];
    }
    else {
        NSLog(@"theConnection is NULL");
    }

}



-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [webData setLength: 0];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [webData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{

    NSLog(@"ERROR with theConnection:%@",[error description]);
    if ([error code] == -1001 ){//isEqualToString:@"timed out"]) {
        UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:@"Connection Error" message:@"Server Unresponsive"  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
        [alertView show];

    }else{
        UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:@"Connection Error" message:@"Check your internet connection "  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
        [alertView show];
    }


    [connection release];
    [webData release];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"DONE. Received Bytes: %d", [webData length]);

    ///////////////////////
    //Process Your Data here:






    ///////////////////////

    [connection release];
    [webData release];

}


- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}


- (void)dealloc {

    [super dealloc];
}
1
ответ дан 14 December 2019 в 13:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: