将请求链接分为两部分

时间:2012-10-01 08:07:56

标签: iphone xcode https

我提供了GET请求。在内部API字符串中我应该放一些数据,我正在追求 运行应用程序,所以我需要将我的整个字符串分成两部分,并将我的结果,即resultText放在两者之间。所以我用startQuery和endQuery制作了它。但我失败了,同时打造这个应用程序。希望有人有个主意。这是一些ScreenShots: Failure XCode description

- (void)makeRequest
{
    if (_responseData == nil)
    {
        _responseData = [NSMutableData new];
    }

    NSString* startQuery = [NSString stringWithString:@"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query="];
    NSString* endQuery = [NSString stringWithString:@"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2"];

    NSURL *url = [NSURL URLWithString:[[NSString stringWithFormat:@"%@%@%@", startQuery, resultText.text, endQuery] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];

    NSURLRequest* request = [NSURLRequest requestWithURL:url];
    _urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}

感谢。

2 个答案:

答案 0 :(得分:1)

您看到的两个警告是因为您在使用文字字符串时使用NSString stringWithString

替换:

NSString* startQuery = [NSString stringWithString:@"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query="];
NSString* endQuery = [NSString stringWithString:@"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2"];

使用:

NSString* startQuery = @"https://www.wikifood.eu/wikifood/en/struts/xxxxxxxx.do?method=getProductOverview&query=";
NSString* endQuery = @"&startAt=0&limit=5&filter=true&loginname=xxxxxx&password=6f052cxxx15a4c2813baf3x75xx51dead1f4fe2";

答案 1 :(得分:0)

不确定,但您要添加百分比转义:     stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding

但是你在整个字符串上做...我认为你的意思是:

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", startQuery, [resultText.text stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding], endQuery]];

你的网址不需要转义,你知道,没关系,只是你的“不安全”文字

再次:不确定,我没有打开XCode尝试^^