Я запрашиваю Википедию, используя следующий код, но я всегда получаю сообщение об ошибке (403 запрещено). Однако когда я набираю тот же самый URL в моем браузере, это работает. Я использовал тот же код раньше для запроса других веб-API, поэтому я не уверен, что вызывает проблемы.
private static string query(string text)
{
text = text.Replace(" ", "%20");
string url = "http://en.wikipedia.org/w/api.php?action=opensearch&search=" + text + "&format=json&callback=spellcheck";
WebClient client = new WebClient();
client.Headers.Add("User-Agent", "whatever"); // <-- this line was missing
try
{
string response = client.DownloadString(url);
return response;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}