видимо проблема сейчас после if в двигать мышь и кликнуть на элемент
var data = {fail:false,wait:true};data["scroll"] = "no scroll" == "scroll";data["threshold"] = parseInt(80);data["timeout"] = 5000;data["data"] = "iVBORw0KGgoAAAANSUhEUgAAAMEAAAAeBAMAAABnBGdVAAAALVBMVEUAWv/V5P////+cv/9Chf+Qt/+81P/k7v+Crv/y9/+nxv/5+/9dlv/F2f9zpf8aFseGAAABB0lEQVR4Ae2SsUoDQRCG58ixbHHFXhCsHcHG5kilaJFG5j1EMIepwqFgtYWNbGWEEGGtfQBBzm4LC/MkvoazupWphEkT9msGrvi/m38HMpnMfxg2a5/O0qxVJyDQT2sp5bWoQd32GzbQdAHl7NAqPABCr5+xJ+Rgh3tChhN7OaZO+SvrThfQfr6H9oN3qB5h1MgYanDNvf1pZtABTV6BLn5bWskY+F/JHIc4QSHiZAnFTjSUM5QxxFSfDAXn6WSo5kZoBzKg31JLyrMhtTTw3J6IIYbffBm9bANNH8Ad8UuHmg19NZcx7I75nO7Sta5wn6/Vw4iXOccXI3NLf+B32DDbYMhktphvXodGRgltnEgAAAAASUVORK5CYII=";_wait_image(data)!
_if(typeof _Idle != "undefined", function(){
_Idle.emulate({useGeneral: true, target: _image()})!
})!
_if_else(typeof _Idle != "undefined" && _Idle.additionalEmulationEnabled(), function(){
_Idle.moveAndClickOn(_image(),{holdCtrl: false, clickType: "left", wait: false, moveSettings: {} })!
}, function(){
_image().random_point()!
_if(_result().length > 0, function(){
move( {} )!
_image().clarify(X,Y)!
_call(_clarify, {} )!
mouse(X,Y)!
})!
})!
Как правильно выполнить код БАСе
-
Здравствуйте.
Мне нужно сгенерировать определенное Значение, для передачи его в GET запросе(обращение по API) - назвем Signature.
Signature: an HMAC-SHA1 hash of your Access ID, the Expires parameter, and your Secret Key. The secure hash must be base64 encoded then URL-encoded before Mozscape accepts the signature as valid. - Это как описывается в инструкции. Есть код на джаваскрипте, который можно использовать. Полный код есть здесь https://github.com/seomoz/SEOmozAPISamples/blob/master/javascript/node/batching-urls-sample.js
Но приведу часть, чтобы кто-то объяснил что нужно делать :
'use strict';var crypto = require('crypto');
var http = require('http');
var expires = Math.floor((Date.now() / 1000)) + 300;
var accessId = process.env.accessId;
var secretKey = process.env.secretKey;
var cols = "68719476736";
var stringToSign = accessId + "\n" + expires;
var signature = crypto.createHmac('sha1', secretKey).update(stringToSign).digest('base64');
signature = encodeURIComponent(signature);Могу все реализовать с помощью стандартных блоков БАС, пока дело не доходит до программирования, так как не программист, и до этих блоков:
var signature = crypto.createHmac('sha1', secretKey).update(stringToSign).digest('base64');
signature = encodeURIComponent(signature);Пробовал вставить и в пользовательский код и в джаваскрипт но выбивают одни ошибки.
Я так понимаю, что закодировать в Base64 может и БАС, но вот что делать с hmac sha1 понятия не имею.Должен получится в конце такой запрос AccessID=member-cf180f7081&Expires=1225138899&Signature=LmXYcPqc%2BkapNKzHzYz2BI4SXfC%3D
Вот переменную Signature мне как-то нужно получить
Помогите, кто разбирается.
-
@DrPrime Вот подготовил модуль для crypto-js
0_1491991653382_CryptoJs.zip
Нужно его установить и выполнитьCryptoJS.HmacSHA256("Message", "Key")Также эта либа поддерживает кучу других методов. https://www.npmjs.com/package/crypto-js
-
@support
Что то не то)
Выполняю следующий код[[DATA]] = "Hello" [[KEY]] = "qwerty123" [[SIGNATURE]] = CryptoJS.HmacSHA256([[DATA]], [[KEY]])Получаю массив:
sigBytes: 32, words: [ -166834478, 1662242229, -1804389374, -898250840, -593942154, 85902484, 390772387, -1191507454А хотел получить :
f60e4ed26313cdb594733402ca75c7a8dc992976051ec494174ab6a3b8fb0a02взято с http://www.freeformatter.com/hmac-generator.html#ad-output
Как мне это привести к такому виду?