Правильный вход в систему с помощью RestSharp - PullRequest
0 голосов
/ 28 апреля 2018

В настоящее время я преобразовываю часть кода instagram-scraper (https://github.com/rarcega/instagram-scraper) в C # для личных целей. Мне нужно войти в сеанс, и у меня возникают трудности при преобразовании этой части кода.

Это часть кода в instagram-scraper (в python)

session = requests.Session()
session.headers = {'user-agent': CHROME_WIN_UA}
session.cookies.set('ig_pr', '1')
session.headers.update({'Referer': BASE_URL})

req = session.get(BASE_URL)
session.headers.update({'X-CSRFToken': req.cookies['csrftoken']})
login_data = {'username': LOGIN_NAME, 'password': LOGIN_PWD}
login = session.post(LOGIN_URL, data = login_data, allow_redirects = True)

session.headers.update({'X-CSRFToken': login.cookies['csrftoken']})

И я использую RestSharp (https://www.nuget.org/packages/RestSharp/) для преобразования. Вот как я конвертировал:

var client = new RestClient(BASE_URL);
var request = new RestRequest(BASE_URL, Method.POST);

request.AddHeader("user-agent", CHROME_WIN_UA);

var jar = new CookieContainer();
jar.Add(new Cookie("ig_pr", "1") { Domain = new Uri(BASE_URL).Host });

client.CookieContainer = jar;
request.AddHeader("Referer", BASE_URL);

IRestResponse baseResponse = client.Execute(request);
foreach (var cookie in baseResponse.Cookies) {
    if (cookie.Name == "csrftoken") request.AddHeader("X-CSRFToken", cookie.Value);
}

Это самое дальнее, что я мог конвертировать, и я не смог конвертировать login = session.post(LOGIN_URL, data = login_data, allow_redirects = True). Я понятия не имею, как преобразовать этот код в код C #, используя RestSharp.

...