0

出于某种原因,我总是得到Endpoint not found.,但是当我将它放在浏览器中时,它可以完美运行。我肯定做错了什么..

- (void)requestLoad:(NSString *)req_udid Age:(NSString *)req_age Gender:(NSString *)req_gender CheckBoxes:(NSString *)req_checkBoxes
{
    NSString *post = [NSString stringWithFormat:@"/UpdatePersonalInterests/%@/%@/%@/%@/0",req_udid, req_age, req_gender, req_checkBoxes];
    NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

    //set up the request to the website
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

    [request setURL:[NSURL URLWithString:NSLocalizedStringFromTable(@"kServiceURL", @"urls", nil)]];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody:postData];

    NSError *error;
    NSURLResponse *response;

    NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    NSString *result = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];

    NSLog(@"%@",result);
}

谢谢!

4

2 回答 2

0

看起来您正在使用自定义服务方案。您是否在 Target -> info - URLS Types 中注册了它?请参阅 Apple 文档或注册自定义 URL 方案:实施自定义 URL 方案

于 2012-11-25T16:57:27.090 回答
0

所以我设法用 NSURLConnection 和异步请求用这段代码做到了这一点:

- (void)getIntrests
{
    NSString *req_udid = [PROUtils createOrLoadUserIdentifier];
    NSString *webaddress = [kServiceBaseURL stringByAppendingString:[NSString stringWithFormat:@"/GetPersonalInterestsForUdid/%@",req_udid]];

    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:webaddress] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:20];

    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:
     ^(NSURLResponse* response, NSData* data, NSError* error) {
         NSString* dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

         [[NSNotificationCenter defaultCenter] postNotificationName:kGotMediaFromServer object:dataString];

         NSLog(@"Update response completed: %@ with data: %@ error: %@",response,dataString,error);
     }];
}

希望它对某人有用。

于 2013-01-01T08:25:49.760 回答