Разное поведение между Restsharp и cURL - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь получить данные из tumblr.

С RestSharp:

var Address = "https://[any].tumblr.com/api/read/json?filter=text&type=photo&num=50&start=1";
var Client = new RestClient(Address);
var Request = new RestRequest();
var R = Client.Execute(Request);

Я получаю 200 пустого содержимого и URL-адрес перенаправления, который указывает на страницу с gdpr/ рекламодатели и т. д.

Тот же URL в браузере имеет точно такой же результат.Доступ к нему с помощью wget делает то же самое.

С помощью cUrl:

curl -i -X GET "https://[any].tumblr.com/api/read/json?type=photo&num=50&start=1"

Я получаю правильное содержимое.

Как получается?

1 Ответ

0 голосов
/ 19 сентября 2018

После нескольких часов попыток понять:

Tumblr обрабатывает запрос по-разному, если в строке user-agent присутствует 'curl' ...

Просто добавив:

Request.AddHeader("user-agent", "curl/7.54.0");

чтобы запрос restsharp решил проблему ...

...