我想獲取html頁面並解析它。NSURLConnection:我試圖接收html頁面,但總是得到錯誤403
我送http://gdata.youtube.com/feeds/api/videos?q=u_dAYLIG984
NSURL* url = [NSURL URLWithString: fullPath];
NSMutableDictionary* headers = [[[NSMutableDictionary alloc] init] autorelease];
[headers setValue:@"application/x-www-form-urlencoded;charset=utf-8" forKey:@"Content-Type"];
[headers setValue:@"text/html" forKey:@"Accept"];
[headers setValue:@"no-cache" forKey:@"Cache-Control"];
[headers setValue:@"no-cache" forKey:@"Pragma"];
[headers setValue:@"close" forKey:@"Connection"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:TIMEOUT_REQUEST];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
conn = [[NSURLConnection alloc] initWithRequest:request delegate:delegate startImmediately:YES];
我總是得到403錯誤。哪裏不對 ?
編輯:
我試過http://bbc.co.uk/我的請求,而且運作良好。我的問題只與http://gdata.youtube.com/feeds/api/videos?q=u_dAYLIG984
EDITED2:
@Christophe Debove,你是對的。我將POST請求更改爲GET,並收到406錯誤。當我刪除「Accept」標題時它變得有效。即使沒有谷歌開發者密鑰,它也能工作
HTTP是HTTP如果它在瀏覽器中工作,並且如果你檢查你的標題值,它必須工作,無論設備,所以如果你的瀏覽器,你不需要谷歌開發關鍵是一樣的。請注意一些webapp作爲谷歌日曆問你一個驗證碼,如果你不使用API的方式,在多個請求從相同的IP後。確保你的管子永遠不會問你。 –