Я пытаюсь получить данные из API Tumblr и получить другие результаты, поскольку они представили страницу GDPR / Advertisers впереди.Страница должна появиться один раз и установить cookie.
С помощью cUrl:
curl -i -v -X GET "https://nochillmemes.tumblr.com/api/read/json?type=photo&num=50&start=1"
Я получаю правильные результаты.
С Rest.Net:
var Client = new RestClient("https://nochillmemes.tumblr.com");
var Request = new RestRequest("/api/read/json?filter=text&type=photo&num=50&start=1", Http.Method.GET);
var R = Client.Execute(Request);
возвращает страницу GDPR, но:
var Client = new RestClient("https://nochillmemes.tumblr.com");
var Request = new RestRequest("/api/read/json?filter=text&type=photo&num=50&start=1", Http.Method.GET);
Request.AddHeader("user-agent", "curl/7.54.0");
var R = Client.Execute(Request);
возвращает правильные данные!поэтому tumblr возвращает разные результаты в зависимости от пользовательского агента.
С RestSharp:
var Client = new RestClient("https://nochillmemes.tumblr.com");
var Request = new RestRequest("/api/read/json?filter=text&type=photo&num=50&start=1", Method.GET);
var R = Client.Execute(Request);
возвращает страницу GDPR, а:
var Client = new RestClient("https://nochillmemes.tumblr.com");
var Request = new RestRequest("/api/read/json?filter=text&type=photo&num=50&start=1", Method.GET);
Request.AddHeader("user-agent", "curl/7.54.0");
var R = Client.Execute(Request);
по-прежнему возвращает страницу GDPR...
Итак, в итоге:
- cURL дает мне результаты API
- Rest.Net дает мне результаты API, только если он претендует на то, чтобы быть cURL
- Restsharp всегда дает мне страницу GDPR
Что может быть причиной этого?
Я пытаюсь понять, что происходит, потому что я нехочу положиться на то, что работает, не зная почему:)