@phpclubru

Страница 7 из 956
Salavat
05.11.2016
13:00:01
Вот нужно получить содержимое этого файла - http://kad.arbitr.ru/PdfDocument/859b872e-c4d6-4517-aae1-b20c684a1f6b/A65-23552-2016_20161017_Opredelenie.pdf

Сам файл получить

Константин
05.11.2016
13:00:30
Если есть ссылка на файл, то его можно скачать...

Dmitry
05.11.2016
13:00:44
Допустим у нас модель и в ней 5 полей. При валидации оказывается, что во всех 5 полях проблема. Если делать на исключениях, то все свалится на валидации первого поля. Так и будет 5 раз править по 1 полю. Либо отвалидировали. Отдали 5 сообщений где и что плохо. Пользователь пачкой исправил все 5 полей и в 1 запрос отправил на бэк.
Исключение одно, которое кинул валидатор, а уж одно он поле отработал или несколько - его проблема... Или еще вариант, у меня где-то был... сервис собирает исклюения ValidationException интерфейса, хранит их, и после отработки всей логики кидат SummaryValidationException

Google
Константин
05.11.2016
13:00:46
Через тот же curl скачай файл

Salavat
05.11.2016
13:01:24
Через тот же curl скачай файл
Открываю консоль хрома

Для того чтобы скачать -копирую copy as cURL

Salavat
05.11.2016
13:01:56
curl 'http://kad.arbitr.ru/PdfDocument/859b872e-c4d6-4517-aae1-b20c684a1f6b/A65-23552-2016_20161017_Opredelenie.pdf' -H '....' —data 'token=2160575720896001&hash=a6002bb6b12e9d972de52445b5b9dfbd' —compressed

Вот, —data token & hash

Dmitry
05.11.2016
13:02:46
Ок. Валидатор первой модели кинул исключение, и до 2-й модели мы не дошли. А там еще 5 неправильных полей.
С чего бы... исключение перехватили в сервисе и сервис решает - прогонять даные еще через одну модель или нет... ему лучше знать об этом как бы

Salavat
05.11.2016
13:02:49
@optimistex помотрите preserve log в хроме - как получается этот файл. К файлу отправляется post запрос

Константин
05.11.2016
13:02:53
Но мы уже катимся в холивар. Есть сторонники исключений, а есть противники. Я противник, т.к. мой личный опыт меня к этому привел. Есть ситуаци где исключения необходимы... Но порой они доставляют проблемы.

Salavat
05.11.2016
13:04:45
@optimistex Выше - результат curl'a. Он отдает html страницу, которая выполняет код

Dmitry
05.11.2016
13:04:52
да нет проблем, если уметь их готовить... ;) Не, если у тебя метод isValid или getErrors - понято, что они исключениния не должны бросать... с другой стороны есть очень полезный принцип TellDontAsk, и варианты типа if ($model->isValid()) then $model->process() весьма его нарушают ;)

Salavat
05.11.2016
13:06:30
@optimistex можно конечно весь javascript переписать в php - но есть разница в обработке и данные не совпадают, в итоге токен и хэш неверные

Dmitry
05.11.2016
13:06:42
Хотя мне уже стало плохо от "Стэк сообщений в базовом модуле, о котором знают остальные модули." ;)

Google
Константин
05.11.2016
13:13:42
Значит перевести код на пых. Генерить ссылку пыхом и не заморачиваться на использование js внутри пыха.

Salavat
05.11.2016
13:13:55
А в чем проблема? Переложить JS-код на PHP-код..
Этот код, который описан - генерирует следующую байду: function calc(e){var g=function(b,a){var d,c,e,f,g;e=b&2147483648;f=a&2147483648;d=b&1073741824;c=a&1073741824;g=(b&1073741823)+(a&1073741823);return d&c?g^2147483648^e^f:d|c?g&1073741824?g^3221225472^e^f:g^1073741824^e^f:g^e^f},k=function(b,a,d,c,e,f,h){b=g(b,g(g(a&d|~a&c,e),h));return g(b<<f|b>>>32-f,a)},h=function(b,a,d,c,e,f,h){b=g(b,g(g(a&c|d&~c,e),h));return g(b<<f|b>>>32-f,a)},l=function(b,a,c,d,e,f,h){b=g(b,g(g(a^c^d,e),h));return g(b<<f|b>>>32-f,a)},m=function(b,a,c,d,e,f,h){b=g(b,g(g(c^(a|~d),e),h));return g(b<<f|b>>>32-f,a)},n=function(b){var a="",c="",d;for(d=0;3>=d;d++)c=b>>>8*d&255,c="0"+c.toString(16),a+=c.substr(c.length-2,2);return a},f=[],p,q,r,t,b,a,d,c;e=this.utf8_encode(e);f=function(b){var a,c=b.length;a=c+8;for(var d=16*((a-a%64)/64+1),e=Array(d-1),f=0,g=0;g<c;)a=(g-g%4)/4,f=g%4*8,e[a]|=b.charCodeAt(g)<<f,g++;a=(g-g%4)/4;e[a]|=128<<g%4*8;e[d-2]=c<<3;e[d-1]=c>>>29;return e}(e);b=1732584193;a=4023233417;d=2562383102;c=271733878;for(e=0;e<f.length;e+=16)p=b,q=a,r=d,t=c,b=k(b,a,d,c,f[e+0],7,3614090360),c=k(c,b,a,d,f[e+1],12,3905402710),d=k(d,c,b,a,f[e+2],17,606105819),a=k(a,d,c,b,f[e+3],22,3250441966),b=k(b,a,d,c,f[e+4],7,4118548399),c=k(c,b,a,d,f[e+5],12,1200080426),d=k(d,c,b,a,f[e+6],17,2821735955),a=k(a,d,c,b,f[e+7],22,4249261313),b=k(b,a,d,c,f[e+8],7,1770035416),c=k(c,b,a,d,f[e+9],12,2336552879),d=k(d,c,b,a,f[e+10],17,4294925233),a=k(a,d,c,b,f[e+11],22,2304563134),b=k(b,a,d,c,f[e+12],7,1804603682),c=k(c,b,a,d,f[e+13],12,4254626195),d=k(d,c,b,a,f[e+14],17,2792965006),a=k(a,d,c,b,f[e+15],22,1236535329),b=h(b,a,d,c,f[e+1],5,4129170786),c=h(c,b,a,d,f[e+6],9,3225465664),d=h(d,c,b,a,f[e+11],14,643717713),a=h(a,d,c,b,f[e+0],20,3921069994),b=h(b,a,d,c,f[e+5],5,3593408605),c=h(c,b,a,d,f[e+10],9,38016083),d=h(d,c,b,a,f[e+15],14,3634488961),a=h(a,d,c,b,f[e+4],20,3889429448),b=h(b,a,d,c,f[e+9],5,568446438),c=h(c,b,a,d,f[e+14],9,3275163606),d=h(d,c,b,a,f[e+3],14,4107603335),a=h(a,d,c,b,f[e+8],20,1163531501),b=h(b,a,d,c,f[e+13],5,2850285829),c=h(c,b,a,d,f[e+2],9,4243563512),d=h(d,c,b,a,f[e+7],14,1735328473),a=h(a,d,c,b,f[e+12],20,2368359562),b=l(b,a,d,c,f[e+5],4,4294588738),c=l(c,b,a,d,f[e+8],11,2272392833),d=l(d,c,b,a,f[e+11],16,1839030562),a=l(a,d,c,b,f[e+14],23,4259657740),b=l(b,a,d,c,f[e+1],4,2763975236),c=l(c,b,a,d,f[e+4],11,1272893353),d=l(d,c,b,a,f[e+7],16,4139469664),a=l(a,d,c,b,f[e+10],23,3200236656),b=l(b,a,d,c,f[e+13],4,681279174),c=l(c,b,a,d,f[e+0],11,3936430074),d=l(d,c,b,a,f[e+3],16,3572445317),a=l(a,d,c,b,f[e+6],23,76029189),b=l(b,a,d,c,f[e+9],4,3654602809),c=l(c,b,a,d,f[e+12],11,3873151461),d=l(d,c,b,a,f[e+15],16,530742520),a=l(a,d,c,b,f[e+2],23,3299628645),b=m(b,a,d,c,f[e+0],6,4096336452),c=m(c,b,a,d,f[e+7],10,1126891415),d=m(d,c,b,a,f[e+14],15,2878612391),a=m(a,d,c,b,f[e+5],21,4237533241),b=m(b,a,d,c,f[e+12],6,1700485571),c=m(c,b,a,d,f[e+3],10,2399980690),d=m(d,c,b,a,f[e+10],15,4293915773),a=m(a,d,c,b,f[e+1],21,2240044497),b=m(b,a,d,c,f[e+8],6,1873313359),c=m(c,b,a,d,f[e+15],10,4264355552),d=m(d,c,b,a,f[e+6],15,2734768916),a=m(a,d,c,b,f[e+13],21,1309151649),b=m(b,a,d,c,f[e+4],6,4149444226),c=m(c,b,a,d,f[e+11],10,3174756917),d=m(d,c,b,a,f[e+2],15,718787259),a=m(a,d,c,b,f[e+9],21,3951481745),b=g(b,p),a=g(a,q),d=g(d,r),c=g(c,t);return(n(b)+n(a)+n(d)+n(c)).toLowerCase()}function utf8_encode(e){e=e.replace(/\r\n/g,"\n");for(var g="",k=0;k<e.length;k++){var h=e.charCodeAt(k);128>h?g+=String.fromCharCode(h):(127<h&&2048>h?g+=String.fromCharCode(h>>6|192):(g+=String.fromCharCode(h>>12|224),g+=String.fromCharCode(h>>6&63|128)),g+=String.fromCharCode(h&63|128))} return g} calc("2160583919283440xcd67qm4bns")

Dmitry
05.11.2016
13:14:28
это не код, это вирус какой-то

Константин
05.11.2016
13:14:53
js-функция. которая что-то делает.

Salavat
05.11.2016
13:15:06
Значит перевести код на пых. Генерить ссылку пыхом и не заморачиваться на использование js внутри пыха.
Вот функция - которая генерирует токен, который отправляется для постом для получения pdf

Константин
05.11.2016
13:15:07
Отформатировать и разобрать.

Т.е. основная задача - сгенерить токен.

Dmitry
05.11.2016
13:16:24
ну подключи v8 к пхп если ленивый переписывать

Salavat
05.11.2016
13:16:36
Отформатировать и разобрать.
Ну да, действительно. Установка v8js гораздо сложнее же

Константин
05.11.2016
13:17:15
Я так понимаю, что да

function calc(e) { var g = function(b, a) { var d, c, e, f, g; e = b & 2147483648; f = a & 2147483648; d = b & 1073741824; c = a & 1073741824; g = (b & 1073741823) + (a & 1073741823); return d & c ? g ^ 2147483648 ^ e ^ f : d | c ? g & 1073741824 ? g ^ 3221225472 ^ e ^ f : g ^ 1073741824 ^ e ^ f : g ^ e ^ f }, k = function(b, a, d, c, e, f, h) { b = g(b, g(g(a & d | ~a & c, e), h)); return g(b « f | b »> 32 - f, a) }, h = function(b, a, d, c, e, f, h) { b = g(b, g(g(a & c | d & ~c, e), h)); return g(b « f | b »> 32 - f, a) }, l = function(b, a, c, d, e, f, h) { b = g(b, g(g(a ^ c ^ d, e), h)); return g(b « f | b »> 32 - f, a) }, m = function(b, a, c, d, e, f, h) { b = g(b, g(g(c ^ (a | ~d), e), h)); return g(b « f | b »> 32 - f, a) }, n = function(b) { var a = "", c = "", d; for (d = 0; 3 >= d; d++) c = b »> 8 * d & 255, c = "0" + c.toString(16), a += c.substr(c.length - 2, 2); return a }, f = [], p, q, r, t, b, a, d, c; e = this.utf8_encode(e); f = function(b) { var a, c = b.length; a = c + 8; for (var d = 16 * ((a - a % 64) / 64 + 1), e = Array(d - 1), f = 0, g = 0; g < c;) a = (g - g % 4) / 4, f = g % 4 * 8, e[a] |= b.charCodeAt(g) « f, g++; a = (g - g % 4) / 4; e[a] |= 128 « g % 4 * 8; e[d - 2] = c « 3; e[d - 1] = c »> 29; return e }(e); b = 1732584193; a = 4023233417; d = 2562383102; c = 271733878; for (e = 0; e < f.length; e += 16) p = b, q = a, r = d, t = c, b = k(b, a, d, c, f[e + 0], 7, 3614090360), c = k(c, b, a, d, f[e + 1], 12, 3905402710), d = k(d, c, b, a, f[e + 2], 17, 606105819), a = k(a, d, c, b, f[e + 3], 22, 3250441966), b = k(b, a, d, c, f[e + 4], 7, 4118548399), c = k(c, b, a, d, f[e + 5], 12, 1200080426), d = k(d, c, b, a, f[e + 6], 17, 2821735955), a = k(a, d, c, b, f[e + 7], 22, 4249261313), b = k(b, a, d, c, f[e + 8], 7, 1770035416), c = k(c, b, a, d, f[e + 9], 12, 2336552879), d = k(d, c, b, a, f[e + 10], 17, 4294925233), a = k(a, d, c, b, f[e + 11], 22, 2304563134), b = k(b, a, d, c, f[e + 12], 7, 1804603682), c = k(c, b, a, d, f[e + 13], 12, 4254626195), d = k(d, c, b, a, f[e + 14], 17, 2792965006), a = k(a, d, c, b, f[e + 15], 22, 1236535329), b = h(b, a, d, c, f[e + 1], 5, 4129170786), c = h(c, b, a, d, f[e + 6], 9, 3225465664), d = h(d, c, b, a, f[e + 11], 14, 643717713), a = h(a, d, c, b, f[e + 0], 20, 3921069994), b = h(b, a, d, c, f[e + 5], 5, 3593408605), c = h(c, b, a, d, f[e + 10], 9, 38016083), d = h(d, c, b, a, f[e + 15], 14, 3634488961), a = h(a, d, c, b, f[e + 4], 20, 3889429448), b = h(b, a, d, c, f[e + 9], 5, 568446438), c = h(c, b, a, d, f[e + 14], 9, 3275163606), d = h(d, c, b, a, f[e + 3], 14, 4107603335), a = h(a, d, c, b, f[e + 8], 20, 1163531501), b = h(b, a, d, c, f[e + 13], 5, 2850285829), c = h(c, b, a, d, f[e + 2], 9, 4243563512), d = h(d, c, b, a, f[e + 7], 14, 1735328473), a = h(a, d, c, b, f[e + 12], 20, 2368359562), b = l(b, a, d, c, f[e + 5], 4, 4294588738), c = l(c, b, a, d, f[e + 8], 11, 2272392833), d = l(d, c, b, a, f[e + 11], 16, 1839030562), a = l(a, d, c, b, f[e + 14], 23, 4259657740), b = l(b, a, d, c, f[e + 1], 4, 2763975236), c = l(c, b, a, d, f[e + 4], 11, 1272893353), d = l(d, c, b, a, f[e + 7], 16, 4139469664), a = l(a, d, c, b, f[e + 10], 23, 3200236656), b = l(b, a, d, c, f[e + 13], 4, 681279174), c = l(c, b, a, d, f[e + 0], 11, 3936430074), d = l(d, c, b, a, f[e + 3], 16, 3572445317), a = l(a, d, c, b, f[e + 6], 23, 76029189), b = l(b, a, d, c, f[e + 9], 4, 3654602809), c = l(c, b, a, d, f[e + 12], 11, 3873151461), d = l(d, c, b, a, f[e + 15], 16, 530742520), a = l(a, d, c, b, f[e + 2], 23, 3299628645), b = m(b, a, d, c, f[e + 0], 6, 4096336452), c = m(c, b, a, d, f[e + 7], 10, 1126891415), d = m(d, c, b,

a, f[e + 14], 15, 2878612391), a = m(a, d, c, b, f[e + 5], 21, 4237533241), b = m(b, a, d, c, f[e + 12], 6, 1700485571), c = m(c, b, a, d, f[e + 3], 10, 2399980690), d = m(d, c, b, a, f[e + 10], 15, 4293915773), a = m(a, d, c, b, f[e + 1], 21, 2240044497), b = m(b, a, d, c, f[e + 8], 6, 1873313359), c = m(c, b, a, d, f[e + 15], 10, 4264355552), d = m(d, c, b, a, f[e + 6], 15, 2734768916), a = m(a, d, c, b, f[e + 13], 21, 1309151649), b = m(b, a, d, c, f[e + 4], 6, 4149444226), c = m(c, b, a, d, f[e + 11], 10, 3174756917), d = m(d, c, b, a, f[e + 2], 15, 718787259), a = m(a, d, c, b, f[e + 9], 21, 3951481745), b = g(b, p), a = g(a, q), d = g(d, r), c = g(c, t); return (n(b) + n(a) + n(d) + n(c)).toLowerCase() } function utf8_encode(e) { e = e.replace(/\r\n/g, "\n"); for (var g = "", k = 0; k < e.length; k++) { var h = e.charCodeAt(k); 128 > h ? g += String.fromCharCode(h) : (127 < h && 2048 > h ? g += String.fromCharCode(h » 6 | 192) : (g += String.fromCharCode(h » 12 | 224), g += String.fromCharCode(h » 6 & 63 | 128)), g += String.fromCharCode(h & 63 | 128)) } return g } calc("2160583919283440xcd67qm4bns")

Salavat
05.11.2016
13:17:35
ну подключи v8 к пхп если ленивый переписывать
Да не сложнее - на конкретной 16.04 убунте не компилируется оно

Dmitry
05.11.2016
13:18:40
Константин, не флуди

Salavat
05.11.2016
13:19:38
какая ошибка?
Библиотеки не видит (*.h файлы)

Dmitry
05.11.2016
13:19:45
а они есть?

Google
Salavat
05.11.2016
13:19:48
Да

Dmitry
05.11.2016
13:19:56
libv8-dev стоит?

Salavat
05.11.2016
13:19:57
Поэтому и спрашивал - была ли такая проблема у укого-то

libv8-dev стоит?
я ее и компилю

Dmitry
05.11.2016
13:20:15
зачем ее компилить? ее в репе нет?

Salavat
05.11.2016
13:20:19
libv8-dev ниже 5ой версии по умолчанию

а pecl-расширение работает с 5+

Может 4ой, но суть в том что в репе версия старая

На 15,10 компилится все отлично

Dmitry
05.11.2016
13:21:26
поставь более старый pecl v8js

а какая libv8 на убунте?

http://pecl.php.net/package-changelog.php?package=v8js&release=1.3.3 в 1.3.0 убрали поддержку старых, попробуй 1.2.0 просто

Salavat
05.11.2016
13:23:11
поставь более старый pecl v8js
проще держать одну виртуалку с 15.10 ))))

а какая libv8 на убунте?
Соврать не хочу, надо посмотреть

3.14 на бубнте

Dmitry
05.11.2016
13:24:25
не знаю, я бы не LTS не поставил бы, хотя lxc контейнер можно сделать, конечно...

https://launchpad.net/~pinepain/+archive/ubuntu/libv8-5.2

Salavat
05.11.2016
13:26:10
Да по идеи есть pinepain/+archive/ubuntu/libv8-5.2

но на 15.10 был конфликт

Dmitry
05.11.2016
13:26:53
а зачем 15.10.... там версия для xenial есть

Google
Dmitry
05.11.2016
13:27:22
для 16.04

конфликт может быть, нужно что-то снести старое, конечо.. вряд ли он может две разные v8 поставить

Salavat
05.11.2016
13:31:44
В общем ставлю из pinepain

Посмотрим, что выйдет

Но согласитесь, что разбирать тот js код - не совсем резонно?

Константин
05.11.2016
13:35:09
Не так уж там много кода.

Salavat
05.11.2016
13:35:25
Не так уж там много кода.
За 2000 рублей приведете его в читаемый и исполняемый php?

Константин
05.11.2016
13:35:29
Какой-то вид шифронвания из которого получают токен.

Могу за 2000 привести. Правда времени мало свободного.

Salavat
05.11.2016
13:36:44
Dmitry
05.11.2016
13:37:19
в общем перевести не так сложно, тут особо алгоритм разбирать не нужно даже... но я бы, наверное, тоже путем в8 поешел бы... а в идеале - если бы эту фунцию дергал бы с сайта переодически, что бы изменения алгоритма мониторить

Константин
05.11.2016
13:37:38
Я уже нанят на проекте. Технически я согласен, но мое время куплено другим заказчиком.

В том коде остновной упор идет на побайтове сдвиги... Это как подсказка.

Константин
05.11.2016
13:39:58
?

Salavat
05.11.2016
13:40:03
Я вот не готов разбирать эту мутотень ) честно )

Если здесь есть желающие - бюджет $50 (даже больше 2000!)

Константин
05.11.2016
13:41:13
Мне доводилось переводить шифрование XXTEA из С++ на PHP и Delphi. В общем дело текхники. Ну обязательно нужен контрольный результат, что б проверить что все ок.

Могу у коллеги спросить. Если заинтересуется.

Если здесь есть желающие - бюджет $50 (даже больше 2000!)
Передал коллеге твое предложение и никнейм. Как будет в сети, прочтет. И возможно в личку напишет.

Google
Константин
05.11.2016
13:49:28
ок

Pavel
05.11.2016
13:53:27
Константин
05.11.2016
13:53:59
давно у меня не было задач по скачиванию стороннего контента )

Pavel
05.11.2016
13:55:14
Ну в SOA обычно api запросы через него дергаются

Константин
05.11.2016
13:58:14
Благодарю
http://parser-api.ru/kad-arbitr-ru

Salavat
05.11.2016
14:03:33
http://parser-api.ru/kad-arbitr-ru
Номер дела и ИНН? И они не публикуют краткие данные о деле

Которые в пдф

Alexander
05.11.2016
15:53:09
Привет, а подскажите сколько в сек можно слать сообщений телеграм-боту? Спасибо!

вообще что-то не вижу лимитов там...

Pavel
05.11.2016
15:55:08
на посылку сообщений боту нету ограничений. Есть лимиты на то сколько сам бот может рассылать сообщений.

Alexander
05.11.2016
15:55:56
мм да я это имел ввиду ) Мне надо вывести таблицу из N строк, вот думаю по 1 сообщению слать или как-то объединить. По 1му красивее выглядит )

Сергей
05.11.2016
15:56:56
Чей бот?

Pavel
05.11.2016
15:57:09
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this

Страница 7 из 956