Всем привет. Пытаюсь сделать что-то типо смс-бомбера. Подскажите, пожалуйста, как нужно корректно сформировать запрос с этого сайта (сайт), чтобы отправилось сообщение? Я пользовался утилитой Postman, в него перенёс все Request Headers, и в постмане всё работало, а потом, когда с потсмана скопировал C# код и вставил в VS, то программа отказывается работать. Возвращает пустой response и не отправляет сообщение. Вот сам C# код: try { var client = new RestClient("https://www.585zolotoy.ru/api/sms/send_code/"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("accept-language", "ru,en;q=0.9"); request.AddHeader("content-length", "23"); request.AddHeader("content-type", "application/json;charset=UTF-8"); request.AddHeader("origin", "https://www.585zolotoy.ru"); request.AddHeader("referer", "https://www.585zolotoy.ru/login/"); request.AddHeader("sec-ch-ua", "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Yandex\";v=\"22\""); request.AddHeader("sec-ch-ua-mobile", "?0"); request.AddHeader("sec-ch-ua-platform", "\"Windows\""); request.AddHeader("sec-fetch-dest", "empty"); request.AddHeader("sec-fetch-mode", "cors"); request.AddHeader("sec-fetch-site", "same-origin"); request.AddHeader("x-qa-client-type", "WEB"); request.AddHeader("x-qa-company", "3e6efe10-defd-4983-94a1-c5a4d3cb3689"); request.AddHeader("x-qa-region", "a93acc32-8ed4-48ed-b105-abd0eb856021"); var body = "{\"phone\":\"тут номер телефона\"}"; //скобки в этой строке я экранировал сам. До этого было везде по две двойные кавычки request.AddParameter("application/json;charset=UTF-8", body, ParameterType.RequestBody); IRestResponse response = client.Execute(request); MessageBox.Show(response.Content); } catch(Exception ex) { MessageBox.Show("Не отправилось!" + ex); } C# try { var client = new RestClient("https://www.585zolotoy.ru/api/sms/send_code/"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("accept-language", "ru,en;q=0.9"); request.AddHeader("content-length", "23"); request.AddHeader("content-type", "application/json;charset=UTF-8"); request.AddHeader("origin", "https://www.585zolotoy.ru"); request.AddHeader("referer", "https://www.585zolotoy.ru/login/"); request.AddHeader("sec-ch-ua", "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"102\", \"Yandex\";v=\"22\""); request.AddHeader("sec-ch-ua-mobile", "?0"); request.AddHeader("sec-ch-ua-platform", "\"Windows\""); request.AddHeader("sec-fetch-dest", "empty"); request.AddHeader("sec-fetch-mode", "cors"); request.AddHeader("sec-fetch-site", "same-origin"); request.AddHeader("x-qa-client-type", "WEB"); request.AddHeader("x-qa-company", "3e6efe10-defd-4983-94a1-c5a4d3cb3689"); request.AddHeader("x-qa-region", "a93acc32-8ed4-48ed-b105-abd0eb856021"); var body = "{\"phone\":\"тут номер телефона\"}"; //скобки в этой строке я экранировал сам. До этого было везде по две двойные кавычки request.AddParameter("application/json;charset=UTF-8", body, ParameterType.RequestBody); IRestResponse response = client.Execute(request); MessageBox.Show(response.Content); } catch(Exception ex) { MessageBox.Show("Не отправилось!" + ex); } Также хочу сказать, что на новой версии либы RestSharp - код не работает вообще, не находит некоторые методы. Я установил restSharp версии 106.15.0
MessageBox.Show("ErrorMessage: " + response.ErrorMessage); MessageBox.Show("ErrorException: " + response.ErrorException); C# MessageBox.Show("ErrorMessage: " + response.ErrorMessage); MessageBox.Show("ErrorException: " + response.ErrorException); Покажи curl запроса который ты делаешь в Postman и который проходит.
Minin_inactive4471240, Не уверен но вроде response.Request нужно ещё преобразовать в строку. Тип такого responseContent = response.Content; var json = await responseContent.ReadAsStringAsync();