У меня есть приложение Windows, использующее.net 4.
Я получаю данные из API "WarGaming.Net".
Большинство данных я получаю по классам HttpWebRequest и HttpWebResponse.
Мой запрос на URL-адрес: " http://cw.worldoftanks.eu/clanwars/maps/provinces/regions/1/?ct=json "
Но я получаю "Запрещенный 403".
Я прочитал этот пост о том, как это сделать с помощью java-скрипта https://github.com/thunder-spb/wot-api-description/issues/28#issuecomment-33958289
function getResp($parr) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://cw.worldoftanks.eu".$parr);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HTTPHEADER,
array(
'Accept: application/json, text/javascript, text/html, */*',
'X-Requested-With: XMLHttpRequest'
)
);
curl_setopt($ch, CURLOPT_REFERER, "http://worldoftanks.eu/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$c_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
if (curl_getinfo($ch, CURLINFO_CONTENT_TYPE) == 'image/jpeg') {
$response = array();
$response['request_data']['error_message'] = w2u('Site returned JPEG, Maintanace maybe?');
$response = json_encode($response);
}
curl_close($ch);
return $response;
}
print_r( getResp('/clanwars/maps/provinces/regions/1/?ct=json') );
И мне интересно, как я мог внедрить этот запрос в код С# с элементами.net.
благодаря
RC
Это фрагмент PHP-скриптов, который использует библиотеку cURL для запроса на сервер с серией определенных заголовков и значений.
Вы захотите использовать.NET equiv, WebRequest: http://msdn.microsoft.com/en-us/library/system.net.webrequest%28v=vs.110%29.aspx И взгляните на cURL с аутентификацией пользователя на С# для получения дополнительных примеров реализации.