我能夠使用NSUrlConnection來使它工作。你必須先base64encode
NSString *keyString = [NSString stringWithFormat:@"%@:%@", BING_SEARCH_API_KEY, BING_SEARCH_API_KEY];
NSData *plainTextData = [keyString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainTextData base64EncodedString];
設置你的要求
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] init];
[req setURL:[NSURL URLWithString:searchUrl]];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", base64String];
[req setValue:authValue forHTTPHeaderField:@"Authorization"];
使請求
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];
看看如何根據格式你形成searchUrl,然後處理數據文檔以$格式指定=(我用json,所以我的樣子):
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
我遺漏了錯誤處理,不要忘了添加,通過檢查響應以及錯誤。
這裏是標準HTTPRequest(而不是ASIHTTPRequest)的解決方案String bing_access = [BING_APP_KEY_AZURE add:[@「:」「add:BING_APP_KEY_AZURE]]; bing_access = [self encodeBase64:bing_access]; [request setValue:[@ 「Basic」add:bing_access] forHTTPHeaderField:@「Authorization」]; ' – Anno2001 2012-08-17 09:30:28