Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iphone-授权后请愿书_Iphone_Post_Http Authentication - Fatal编程技术网

iphone-授权后请愿书

iphone-授权后请愿书,iphone,post,http-authentication,Iphone,Post,Http Authentication,我正在尝试对iphone中的webservice进行用户授权。等效的ant test java版本是以下代码: HttpPost post = new HttpPost("http://webserviceurl/authuser"); // Header Basic base64 user:pass post.setHeader("Authorization", "Basic " + Base64.encodeBase64String(StringUtils.getBy

我正在尝试对iphone中的webservice进行用户授权。等效的ant test java版本是以下代码:

HttpPost post = new HttpPost("http://webserviceurl/authuser");

    // Header Basic  base64 user:pass
    post.setHeader("Authorization", "Basic " +   Base64.encodeBase64String(StringUtils.getBytesUtf8("myuser:mypassword")));

    // FIELD
    List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
    urlParameters.add(new BasicNameValuePair("usuario", "doxsi@doxsi.com"));
    urlParameters.add(new BasicNameValuePair("password", "pass"));

    post.setEntity(new UrlEncodedFormEntity(urlParameters));
“encode”和“base64StringFromData”是外部类Base64的方法(如下所示)

我的代码对吗? 如何获取服务器响应? 我如何实现java“字段”


非常感谢您的建议。提前发送

我刚刚解决了问题,如果有人需要,我想发布它

我的代码是:

    -(IBAction)buttonEntra:(id)sender{

        NSLog(@"starting autorization");
        NSString *urlString = @"http://sytes.net:8080/rest/checkuser";
        NSURL *url = [NSURL URLWithString:urlString];

        NSString *serverName = @"serverUSER";
        NSString *serverPassword = @"serverPASS";

        // create a plaintext string in the format username:password
        NSString *authStr = [NSString stringWithFormat:@"%@:%@", serverName, serverPassword];

        NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
        NSString *authValue = [NSString stringWithFormat:@"Basic %@", [Base64 encode:authData ]];

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: url
                                                               cachePolicy: NSURLRequestUseProtocolCachePolicy
                                                           timeoutInterval: 10];
        [request setHTTPMethod:@"POST"];
        [request setValue:authValue  forHTTPHeaderField:@"Authorization"];

        //parametros en el body

        NSString *userName = usuario;
        NSString *userPassword = password;

        //esempio doxsi9@hotmail.com - sicignano
        NSString *post = [NSString stringWithFormat: @"usuario=%@&password=%@",userName,userPassword];
        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
        [request setHTTPBody:postData];


        // perform the reqeust
        NSURLResponse *response;
        NSError *myError = nil;

        NSData *data = [NSURLConnection
                        sendSynchronousRequest: request
                        returningResponse: &response
                        error: &myError];

        NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
        [connection start];
    }

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    //status code 200 OK   - status code 405 no method defined
    NSLog(@" connection didReceiveResponse: %@", response);

}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)d {

    NSString *string = [[NSString alloc] initWithData:d encoding:NSUTF8StringEncoding];
    NSLog(@"connection didReceiveData: %@",string);

}



- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@ ", [error localizedDescription]);

    [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Servicio no disponible", @"")
                                message:@"El servidor podria encontrarse en mantenimiento"
                                delegate:nil
                                cancelButtonTitle:NSLocalizedString(@"OK", @"")
                                otherButtonTitles:nil] show];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

    // Do anything you want with it
    NSLog(@"connectionDidFinishLoading ");


}
我希望有帮助

    -(IBAction)buttonEntra:(id)sender{

        NSLog(@"starting autorization");
        NSString *urlString = @"http://sytes.net:8080/rest/checkuser";
        NSURL *url = [NSURL URLWithString:urlString];

        NSString *serverName = @"serverUSER";
        NSString *serverPassword = @"serverPASS";

        // create a plaintext string in the format username:password
        NSString *authStr = [NSString stringWithFormat:@"%@:%@", serverName, serverPassword];

        NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
        NSString *authValue = [NSString stringWithFormat:@"Basic %@", [Base64 encode:authData ]];

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: url
                                                               cachePolicy: NSURLRequestUseProtocolCachePolicy
                                                           timeoutInterval: 10];
        [request setHTTPMethod:@"POST"];
        [request setValue:authValue  forHTTPHeaderField:@"Authorization"];

        //parametros en el body

        NSString *userName = usuario;
        NSString *userPassword = password;

        //esempio doxsi9@hotmail.com - sicignano
        NSString *post = [NSString stringWithFormat: @"usuario=%@&password=%@",userName,userPassword];
        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
        [request setHTTPBody:postData];


        // perform the reqeust
        NSURLResponse *response;
        NSError *myError = nil;

        NSData *data = [NSURLConnection
                        sendSynchronousRequest: request
                        returningResponse: &response
                        error: &myError];

        NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
        [connection start];
    }

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    //status code 200 OK   - status code 405 no method defined
    NSLog(@" connection didReceiveResponse: %@", response);

}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)d {

    NSString *string = [[NSString alloc] initWithData:d encoding:NSUTF8StringEncoding];
    NSLog(@"connection didReceiveData: %@",string);

}



- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@ ", [error localizedDescription]);

    [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Servicio no disponible", @"")
                                message:@"El servidor podria encontrarse en mantenimiento"
                                delegate:nil
                                cancelButtonTitle:NSLocalizedString(@"OK", @"")
                                otherButtonTitles:nil] show];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

    // Do anything you want with it
    NSLog(@"connectionDidFinishLoading ");


}