Замена PHP Curl на Wget

Так получилось, что иногда пишу парсеры сайтов на PHP. Использую обычный PHP Curl, густо обмазанный различными вспомогательными классами. Всё было хорошо, но однажды один из скриптов перестал работать. Стал разбираться почему — PHP стал падать с ошибкой сегментирования (segmentation fault) при вызове:

Стал разбираться. Выяснил что перестаёт падать после комментирования строчки:

Явно что-то не так с шифрованием. Вспомнил даже, что нечто подобное уже было. Проверил — точно сайт стал шифроваться по протоколу ГОСТ:

И собственно в тот раз проблема решилась а в этот раз таки уже нет. Когда попробовал добавить ключ с указанием версии шифрования, скрипт стал бесконечно висеть.

И из консоли в том числе:

Ну ладно. Пойдем другим путём. Проверив как открывается этот-же сайт при помощи wget, и убедившись, что с ним всё хорошо, понял что при помощи его работа в принципе будет даже проще. Всё свелось к комбинации сточек вида (конкретно тут для примера без обработки ошибок):

Чтиво за последнее время

  1. Серия «Я зомби» 1-2, Сказ Алексей. Сюжет: герой после прихода Системы оказывается зомби. Причем в «жиизни» он был лидером клана игроков. Ну и понеслось.. По сути бред. С трудом дочитал полкниги. Оценка 2/5
  2. Манящий свет далеких звезд 1-2. Корнеев Юрий. Очередной попаданец в мины EVO. Читабельно. Оценка 3/5
  3. Проект «Аве Мария». Уир Энди. Чес слово, жемчужина случайно обнаруженная, с год уже ничего более захватывающего не читал. Сюжет: герой приходит в себя на борту корабля летящего к Тау Кита. Постепенно восстанавливает память и вспоминает что его задача — спасти человечество, а его миссия — билет в один конец. А тут еще встреча с инопланетянином. Оценка 5/5
  4. Новая жизнь 1-2. Бобров Всеволод. Мир EVO (одна из вариаций). Но написано слабенько. Не зашло. Оценка 3/5
  5. Двойная жизнь антигероя. Kimiko. Строго 18+. Обычный неудачник в жизни, герой в компьютерной игре с «погружением». В целом интересно. Оценка 3/5

И снова ГИС ЖКХ.

После победы с формированием XML, осталось только обернуть всё в SOAP запрос. Самым простым в моём случае оказалось воспользоваться классом nusoap, Всё свелось примерно к такому коду:

Ткнулся сначала разбираться со штатным SoapClient, но там как оказалось, необходимо переписать весь код заново, для формирования XML. Да и мудрёно слишком.

PHP: Перевести из HEX В DEC

Оказывается перевести большое число из HEX в DEC, посредством PHP весьма затруднительно. Есть команда base_convert, но документация честно предупреждает, что если число большое — перевод будет «не точным» (ну на самом деле лучше бы вообще ошибку выдавали перевода, чем «не точную»). Поэтому пришлось использовать костыль с вызовом утилиты Linux:

1С: Явное указание даты в запросе

Очень бы хотелось в запросе указывать явную дату как во многих SQL, что-то типа:

Но,ой. К сожалению 1С так делать не позволяет. Поэтому чтобы указать дату явно, не параметром запроса, приходится городить такую конструкцию:

1 2 3 303