- Регистрация
- 08.10.2023
- Сообщения
- 134
- Благодарностей
- 35
- Баллы
- 28
Всем привет,
Я использую ZennoPoster для автоматизации некоторых задач и мне нужно экспортировать cookies сеанса браузера в файл JSON. Ранее я делал это вручную через GUI ZennoPoster, который создает файл JSON в правильном формате. Однако я хочу автоматизировать этот процесс с помощью кода C# в ZennoPoster.
Вот код C#, который я реализовал до сих пор:
Несмотря на мои усилия, созданный файл не соответствует ожидаемому формату JSON и содержит неструктурированный текст. Я также столкнулся с ошибками компиляции, связанными со ссылками на сборки.
Вот мои конкретные вопросы:
1. Как я могу достичь правильного формата JSON, как в GUI ZennoPoster?
2. Есть ли специфические методы или библиотеки, которые я должен использовать в ZennoPoster для этой задачи?
3. Есть ли у кого-нибудь рабочий пример кода C# для экспорта cookies в том же формате, что и GUI?
Я искал в документации, но не нашел решения. Если есть соответствующий раздел в документации, который я мог пропустить, буду признателен за ссылку на него.
Также прошу прощения за возможные ошибки в русском языке, так как это не мой родной язык, и я только начинаю изучать программирование.
Заранее спасибо за вашу помощь и предложения!
С уважением,
Я использую ZennoPoster для автоматизации некоторых задач и мне нужно экспортировать cookies сеанса браузера в файл JSON. Ранее я делал это вручную через GUI ZennoPoster, который создает файл JSON в правильном формате. Однако я хочу автоматизировать этот процесс с помощью кода C# в ZennoPoster.
Вот код C#, который я реализовал до сих пор:
C#:
//
// Export Cookies to a File
// 1. Define the file path
string filePath = $@"C:\Path\To\Profile\{project.Variables["Account_Name"].Value}\cookies.json";
// 2. Ensure the directory exists, if not, create it
string directoryPath = Path.GetDirectoryName(filePath);
if (!Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
// 3. Export cookies and convert them to JSON format
var cookieContainer = project.Profile.CookieContainer;
var cookies = cookieContainer.Get(""); // Get all cookies
var cookieList = cookies.Select(cookie => new
{
domain = cookie.Host,
expirationDate = cookie.Expiry == DateTime.MinValue ? (double?)null : new DateTimeOffset(cookie.Expiry).ToUnixTimeSeconds(),
hostOnly = !cookie.IsDomain,
httpOnly = cookie.IsHttpOnly,
name = cookie.Name,
path = cookie.Path,
sameSite = cookie.SameSite.ToString(),
secure = cookie.IsSecure,
session = cookie.IsSession,
storeId = (string)null,
value = cookie.Value,
id = cookie.GetHashCode() // Unique ID based on cookie hash
}).ToList();
// Serialize to JSON using System.Text.Json
string cookiesJson = JsonSerializer.Serialize(cookieList, new JsonSerializerOptions { WriteIndented = true });
// 4. Write the exported cookies to the file
File.WriteAllText(filePath, cookiesJson);
// 5. Log to confirm the export
project.SendToLog($"Cookies have been exported to the file: {filePath}", ZLog.Info, false, ZColor.Green);
Вот мои конкретные вопросы:
1. Как я могу достичь правильного формата JSON, как в GUI ZennoPoster?
2. Есть ли специфические методы или библиотеки, которые я должен использовать в ZennoPoster для этой задачи?
3. Есть ли у кого-нибудь рабочий пример кода C# для экспорта cookies в том же формате, что и GUI?
Я искал в документации, но не нашел решения. Если есть соответствующий раздел в документации, который я мог пропустить, буду признателен за ссылку на него.
Также прошу прощения за возможные ошибки в русском языке, так как это не мой родной язык, и я только начинаю изучать программирование.
Заранее спасибо за вашу помощь и предложения!
С уважением,