Вот обновленный код, где вместо фиксированного пути к файлу используется переменная filePath

Вот обновленный код, где вместо фиксированного пути к файлу используется переменная filePath, а вместо фиксированного URL сайта — переменная serverUrl. Прокси был убран, как вы просили:

Обновленный код:

// Переменные для пути к файлу и URL сайта
string filePath = project.Variables["FilePath"].Value; // Указываете путь к файлу через переменную проекта
string serverUrl = project.Variables["ServerUrl"].Value; // Указываете URL сайта через переменную проекта

FileInfo fileInfo = new FileInfo(filePath);
string fileName = fileInfo.Name;
string fileType = System.Web.MimeMapping.GetMimeMapping(filePath);

// Генерация уникальной границы для multipart/form-data
Random rnd = new Random();
string boundary = "------" + rnd.Next(100000000, 999999999).ToString() + rnd.Next(100000, 999999).ToString();

// Чтение содержимого файла
string fileContent = File.ReadAllText(filePath, Encoding.UTF8);

// Формирование тела запроса
string data =
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"create_file\"; filename=\"" + fileName + "\"\r\n" +
    "Content-Type: " + fileType + "\r\n\r\n" +
    fileContent + "\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"path\"\r\n\r\n" +
    "/your/path/here\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"mime\"\r\n\r\n" +
    "text/html\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"charset\"\r\n\r\n" +
    "utf-8\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"hostname\"\r\n\r\n" +
    "mostbetv.ru\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"filterValue\"\r\n\r\n\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"urlOffsets\"\r\n\r\n" +
    "a:0:{}\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"xsrf\"\r\n\r\n" +
    "i9YN27rqdGdjT9LLt14JJVm5DUPr52a7\r\n" +
    boundary + "\r\n" +
    "Content-Disposition: form-data; name=\"action\"\r\n\r\n" +
    "create.url\r\n" +
    boundary + "--\r\n";

// Отправка POST-запроса через HTTP
string response = ZennoPoster.HTTP.Request(
    InterfacesLibrary.Enums.Http.HttpMethod.POST,
    url: serverUrl, // URL сайта берется из переменной
    content: data,
    contentPostingType: "multipart/form-data; boundary=" + boundary,
    Encoding: "UTF-8",
    respType: ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
    Timeout: 30000,
    UserAgent: project.Profile.UserAgent // Используется текущий UserAgent профиля
);

// Логирование результата (опционально)
project.SendInfoToLog("Response: " + response);

Что изменено:

  1. Переменные для пути к файлу и сайта:
    • filePath теперь берется из переменной проекта: string filePath = project.Variables["FilePath"].Value; Вы можете задать переменную FilePath в интерфейсе Zennoposter.
    • serverUrl берется из переменной проекта: string serverUrl = project.Variables["ServerUrl"].Value; Аналогично, задайте переменную ServerUrl в проекте.
  2. Удален прокси: Прокси убран из вызова ZennoPoster.HTTP.Request.
  3. Путь к файлу и URL сайта задаются динамически: Теперь вы можете менять значения FilePath и ServerUrl без необходимости редактировать сам скрипт.

Если у вас возникнут вопросы или нужно дополнить код, дайте знать! 😊

Опубликовано
В рубрике Uncategorized

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *