IOS应用程序中的Prestashop搜索API方法

时间:2014-09-15 18:56:31

标签: ios xcode api search prestashop

我正在构建我的第一个IOS应用程序,我目前正在将我的应用程序与我的Prestashop网站集成。我已经从数据库中获取了大量数据,但我从他们的API中使用搜索方法的运气却少了。

我已成功调用REST API并通过服务器进行身份验证。我收到的响应状态代码为200,所以一切看起来都不错,但是我从服务器收到的数据是HTML表单中我网站的主页,而不是带有搜索结果的XML文件。

下面我将列出我用来访问Prestashop服务器的一些代码部分

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.******.com:443/api/search/?query=%@&language=1",searchTerm]];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

这是我用来设置与Prestashop服务器的连接的方法

-(void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge;
{
    NSLog(@"Test 1.5");
    [self clearCookiesForURL];
    if([challenge previousFailureCount]==0)
    {
        NSURLCredential *credential = [NSURLCredential credentialWithUser:@"(I'm omitting the credential key but it does work)" password:@"" persistence:NSURLCredentialPersistenceForSession];
        NSLog(@"Credential : %@",credential);
        //NSURLCredential *credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];

        [challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
    } else{
        [[challenge sender] cancelAuthenticationChallenge:challenge];
    }
}

这是我的身份验证方法。我已经实例化了所有其他连接方法(canAuthenticateAgainstProtectionSpace,didReceiveResponse,didReceiveData等),并且它们都被调用并正常工作。

NSLog(@"Data After : %@",responseData);
NSString *tempString;
tempString = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
NSLog(@"String : %@",tempString);

这是我用来将从服务器获取的数据转换为字符串的代码部分(我认为它将是XML,而不是HTML)

Here is a screenshot of the debug log showing that I'm getting an HTML File

有谁能看到我在这里做错了什么?任何帮助将不胜感激!

0 个答案:

没有答案