REST API позволяет управлять профилями браузера. Эта функция все еще находится в стадии бета-тестирования и находится в активной разработке.
Конфигурация
Конечная точка API находится на локальном хосте:[PORTNUMBER]
35000 – порт по умолчанию, но его можно изменить, отредактировав auth.json в C: / Users / %username% / incogniton /
КОНЕЧНЫЕ ТОЧКИ REST API
локальный: 35000 / профиль / запуск /[PROFILE-ID] – запустить профиль в браузере
локальный: 35000 / профиль / стоп /[PROFILE-ID] – остановить профиль браузера
локальный: 35000 / профиль / удалить /[PROFILE-ID] – удалить профиль браузера
localhost: 35000 / profile / all – возвращает всю информацию профилей браузера
Добавьте профиль:
localhost: 35000 / profile / add – добавляет профиль браузера. (Запрос POST) (ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ)
На конечную точку необходимо отправить почтовый запрос. Пример данных показан ниже. general_profile_information обязательна. Остальные можно не учитывать.
{'profileData' : {
"general_profile_information": {
"profile_name": "Example Account",
"profile_notes": "",
"profile_group": "Unassigned",
"profile_last_edited": "",
"simulated_operating_system": "Windows"
},
"Proxy": {
"connection_type": "HTTP proxy",
"proxy_url": "123.123.123.123:4444",
"proxy_username": "USERNAME",
"proxy_password": "PASSWORD",
"proxy_rotating": "0"
},
"Timezone": {
"fill_timezone_based_on_ip": "true",
"timezone_name": "Africa/Abidjan",
"timezone_offset": "0"
},
"WebRTC": {
"set_external_ip": "true",
"behavior": "Altered",
"public_ip": "",
"local_ip": "192.168.0.01"
},
"Navigator": {
"user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
"screen_resolution": "1920x1080",
"languages": "en_US",
"navigator_languageIPToggle": "0",
"platform": "Win32",
"do_not_track": "true",
"hardware_concurrency": "6"
}}}
Пример кода на Python:
import requests
import json
my_json = {
'general_profile_information': {
"profile_name": "Example Account2",
"profile_notes": "",
"profile_group": "Unassigned",
"profile_last_edited": "",
"simulated_operating_system": "Windows"
},
'Proxy': {
"connection_type": "HTTP proxy",
"proxy_url": "123.123.123:123",
"proxy_username": "proxyUsername",
"proxy_password": "proxyPassword",
"proxy_rotating": "0"
}
}
data = {"profileData": json.dumps(my_json)}
url = "http://localhost:35000/profile/add"
response = requests.post(url, data)
print(response)
Пример кода js узла:
const https = require('http')
var url = "http://localhost:35000/profile/add"
var my_json = JSON.stringify({
'general_profile_information': {
"profile_name": "Example Account5",
"profile_notes": "",
"profile_group": "Unassigned",
"profile_last_edited": "",
"simulated_operating_system": "Windows"
},
'Proxy': {
"connection_type": "HTTP proxy",
"proxy_url": "123.123.123:123",
"proxy_username": "proxyUsername",
"proxy_password": "proxyPassword",
"proxy_rotating": "0"
}
});
const data = JSON.stringify({
profileData: my_json
})
console.log(data)
const options = {
hostname: "127.0.0.1",
port: 35000,
path: '/profile/add',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length
}
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.write(data)
req.end()