Загрузите файл и обработайте перенаправление [PYTHON] - PullRequest
1 голос
/ 14 июля 2020

Мне нужно отправить изображение на сайт https://zxing.org/w/decode.jspx и прочитать страницу результатов: https://zxing.org/w/decode.

Я пробовал это, но он не работает:

def decode_qrcode(path):
    s = requests.Session()

    url = "https://zxing.org/w/decode.jspx"
    files = {'file': open(path, 'rb')}
    s.post(url, files=files)
    return s.get("https://zxing.org/w/decode").text

Я знаю, что есть библиотеки для чтения QR-кода, но я не нашел ни одного, который работал бы с типом QR-кодов, с которыми я работаю (у них может быть частота ошибок, не поддерживается).

1 Ответ

0 голосов
/ 14 июля 2020

Вы должны использовать аргумент allow_redirects при выполнении запроса POST

import requests
def decode_qrcode(path):
    s = requests.Session()

    url = "https://zxing.org/w/decode.jspx"
    files = {'file': open(path, 'rb')}
    s.post(url, files=files, allow_redirects = True)
    return s.get("https://zxing.org/w/decode").text
...