Перейти к содержимому

MOAB

- - - - -

Снова Питон


  • Войдите, чтобы ответить
Сообщений в теме: 3

#1 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 737 сообщений
2 068

Отправлено 31 Октябрь 2019 - 22:06

path = "/1.0/forms/" + id + "/forms"
if send_date:
path =  path + "?sending-date=" + send_date
url = protocol + host + path
filename = 'forms_' + id + '.pdf'
with open(filename, 'wb') as handle:
    response = requests.get(url, headers=request_headers, stream=True)
    print("Status code: ", response.status_code)
    for block in response.iter_content(1024):
	    handle.write(block)
    print("File: ", filename)

Я авторизацию опустил, с ней проблем нет.
Вот такая строка на питоне \
[color=rgba(0, 0, 0, 0.8)]"https://otpravka-api.pochta.ru/1.0/forms/" + id + "/forms"[/color]


Как на php файл получить? Запрос на curle кидаю, в ответ приходит не читаемый pdf.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#2 Drakon

Drakon

    Балбес

  • Основатель
  • PipPipPipPipPip
  • 1 968 сообщений
1 496
  • Изmsk

Отправлено 01 Ноябрь 2019 - 10:07

ну так, раз файл получаешь - все работает ..

ну а что это не .pdf на самом деле , а херня полная - для этих систем частое явление.
недорогие и надежные vds - инструмент поднятия ТИЦ
монетизация с ссылок: тут и тут
...
успевает тот, кто не спешит (с)

#3 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 5 154 сообщений
6 496
  • ИзКрии

Отправлено 01 Ноябрь 2019 - 10:51

Надо ещё проверить:
  • сигнатуру файла (у меня бывало что в api включали gzip и забывали добавлять соответствующий заголовок)
  • наличие заголовков http
  • всякие артефакты от http 1.1 (забыл уже какой там заголовок включает кусочную отдачу данных и многие кривые http-клиенты это игнорируют)

"Они не могут ничего, у них лапки котят"

#4 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 737 сообщений
2 068

TC Отправлено 13 Ноябрь 2019 - 09:14

А тамба блямба не все так просто. После того как заказ создан на сайте почты, ему сразу же присваивается ШПИ (Трек код, который к слову нужно получить вторым запросом, первый раз после создания заказа приходит какой-то внутренний номер который больше нах нигде не нужен ) и у него есть вес, поскольку его в запросе передали. Т.е. есть все данные, чтобы распечатать ярлык Ф7п и Ф112ЭК если нужно. Но нет, нельзя (точнее только для EMS можно) потому что заказ еще не в партии. В общем нужно создать заказ, создать партию, засунуть заказ в партию и только потом можно скачать Ф7п и Ф112ЭК. А при оформлении следующего заказа, нужно отследить, чтобы аналогичная посылка, если она такая же как как предыдущая, т.е. если первая была посылка с наложкой она уже создала партию, то вторая посылка с наложкой должна попасть в уже созданную партию, а не создать новую.

А алгоритм такой:
Первый заказ.
1 Создаем заказ на сайте почты.
2 Создаем партию.
3 Добавляем заказ в партию.

Следующий заказ.
1 Создаем заказ на сайте почты.
2 Создаем партию.
3 Добавляем заказ в партию.

И таким образом каждая новая посылка создает новую партию. Чтобы этого избежать пришлось создать вспомогательную таблицу и несколько переменных сессии, которые необходимо обнулять перед каждой новой партией посылок.

Вот у меня только один вопрос, нахуя? Ну создал заказ, отдайте сразу Трек и ссылку на бланки. Распечатал, наклеил на посылку. Когда все сделал, зашел к ним на сайт, жмякнул кнопку, а она у них есть) которая сформировала из всех новых посылок партии, для посылок с наложкой свои, для 1 класса свои... Потом скачал (как у них сейчас), а лучше жмякнул по кнопке и открыл файл файл с накладной ф103 по которой сдается партия посылок.

А если без костылей, то создаешь например 50 посылок, помечаешь их крестиком, ноликом, номерком... А в конце распечатываешь 50 бланков и молишься, чтобы не перепутать и наклеить нужный ярлык на нужную посылку. А перепутать можно. У меня уже был случай когда СДЭК тормозил и пришлось качать накладные скопом с их сайта, таки пару посылок перепутал.


А еще вопрос на засыпку. Можно как-то у полученного PDF файла изменить поля. А то запускаешь на печать из хрома, а принтер режет половину первой буквы строки. Приходится ставить галочку масштабировать до страницы. А следом идет посылка Боксберри, к примеру, а там ярлык на четверть листа и с полями все ок, и вот забываешь снять галку масштабирования и получаешь ярлык Боксберрри на лист A4. :angry:
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru



Похожие темы


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных



© 2019 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal