#
Папка для загрузки
Как мы описывали сложность операций с папками в Папка загрузки,
для упрощения этот шаг также выполняется с помощью «aemulari». Процесс тот же
как и в случае с загрузкой папки, с той лишь разницей, что теперь используется команда upload-folder
и есть
несколько новых аргументов. Вот справочное сообщение:
$ ./aemulari upload-folder --help
Upload folder usage:
--profile-id TEXT Profile ID to use
--path TEXT Path to the profile folder. You can omit this option if
you did not specify a custom path when creating folder
with this utility
--delete Delete folder after upload
--profile-lock TEXT If the profile was started with session lock, this
option is required
--api-key TEXT Your API key
Common options:
--verbose Be verbose (enable logging)
Если операция завершится успешно, исполняемый файл завершится с кодом 0
. В противном случае см. таблицу ниже.
#
Коды выхода
Вы получите сообщение об ошибке сервера, выведенное в stdout
, если получите коды ошибок 101-200
. Обычно вам
следует обратиться в службу поддержки, если вы получаете коды выхода «1», «2» или «200» и не можете исправить это самостоятельно.
#
Пример кода
val pathToAemulari = "/home/myuser/.surfinite/aemulari/aemulari"
val profileId = "my_profile_id"
val apiKey = "MY_API_KEY"
val profileLock = "profile_lock_from_start_profile_response"
val pathToProfile = "/home/myuser/surfiprofiles/$profileId"
// Start aemulari with our arguments
val process = ProcessBuilder(
listOf(
pathToAemulari,
"upload-folder",
"--profile-id", profileId,
"--path", pathToProfile,
"--api-key", apiKey,
"--profile-lock", profileLock,
"--delete"
)
)
.redirectOutput(ProcessBuilder.Redirect.INHERIT)
.redirectError(ProcessBuilder.Redirect.INHERIT)
.start()
// Wait for the process to exit
process.waitFor()
val exitCode = process.exitValue()
when (exitCode) {
0 -> println("Success")
4 -> {
// For some reason the folder was not deleted,
// so delete it manually
File(pathToProfile).deleteRecursively()
println("Success")
}
else -> {
// The error message was already printed, as we called
// redirectOutput(INHERIT), so just print the exit code
println("Got error from aemulari. Code: $exitCode")
}
}