проблема с интеграцией curl в зенку

isaacfks

Пользователь
Регистрация
29.05.2023
Сообщения
90
Благодарностей
11
Баллы
8
Всем привет. У других работает а у меня нет, не понимаю почему. Использую curl.se метод так как в зенке запросы могут в некоторых случаях не приходить и этот код как бы это фиксит, но вот проблема у меня он не работает и выходит ошибка curl: (3) URL rejected: Bad hostname (ниже в полном формате) и самое странное, точно такой же шаблон с таким же кодом и методом работает у других но не работает у меня. Почему, в чем причина может быть? Кто сталкивался может кто подскажет, потому что сносить винду мне очень бы не хотелось.
метод (отрезок):
        private string SubmitPostRequest(string captchaData) {
            Project.SendInfoToLog("Отравляю POST запрос: \n"+captchaData);

            string answerRequest = Curl( "https://pro.nocaptchaai.com/solve", captchaData, ApiKey);
            Project.SendInfoToLog("Ответ от сервиса answerRequest: \r\n"+answerRequest);
            return answerRequest;
        }
        
        public string Curl(string url, string json, string api){
            string tempFilePath = Path.GetTempFileName();
            File.WriteAllText(tempFilePath, json);
        
            string[] data = {
                string.Format("-X POST {0}", url),
                string.Format("-H \"Content-Type: application/json\""),
                string.Format("-H \"apikey: {0}\"", api),         
                string.Format("-d @{0}", tempFilePath),
                "-k"
            };

            var setting = new System.Diagnostics.ProcessStartInfo {
                CreateNoWindow = true,
                FileName = Path.Combine(Project.Directory, "curl.exe"),
                Arguments = string.Join(" ", data),
                UseShellExecute = false,
                RedirectStandardOutput = true,
                RedirectStandardError = true // Добавлено для перехвата stderr
            };

            using (var process = new System.Diagnostics.Process { StartInfo = setting }) {
                process.Start();
                string output = process.StandardOutput.ReadToEnd().Trim();
                string error = process.StandardError.ReadToEnd().Trim(); // Читаем stderr
                process.WaitForExit();

                if (process.ExitCode != 0) {
                    throw new Exception("ERROR curl. Exit Code: "+ process.ExitCode.ToString()+ ". Error: "+error.ToString());
                }
                return output;
            }
        }
Выполнение действия CSharp OwnCode: Решение капчи. [Общий код: Строка: 429; Cтолбец: 16] ERROR curl. Exit Code: 3. Error: % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 18722 0 0 100 18722 0 14204 0:00:01 0:00:01 --:--:-- 14237
100 18801 100 79 100 18722 45 10724 0:00:01 0:00:01 --:--:-- 10780
100 18801 100 79 100 18722 45 10724 0:00:01 0:00:01 --:--:-- 10780
curl: (3) URL rejected: Bad hostname
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)