[Python] POST-WAV-Dateien mit Anforderungen [POST]

zunaechst

Ich habe die Spracherkennungs-API auf Heroku hochgeladen. Wie kann ich eine WAV-Datei posten und auch den Empfänger erhalten? Da es nur wenige Dokumente und Versuche gibt, werde ich es als Memo hinterlassen.

Schlüssel, Benutzer-ID, Pass usw. sind Sicherheitsmaßnahmen.

Serverseite

from flask import Flask, request, abort
import soundfile as sf
from io import BytesIO
import os

app = Flask(__name__)

@app.route("/webapp", methods=['POST'])
def webapp():
    webaccesskey = request.headers["KEY"]
    webaccesspassword = request.headers["PWD"]
    if webaccesskey == "ok" and webaccesspassword == "foapkun":
        try:
            if request.args.get("TYPE") == "wav_message":
                user_id = request.args.get("USERID")
                key = request.args.get("KEY")
                valid = checker(user_id, key)
                if valid == True:
                    wavdata = request.files["file"].stream
                    audio_data, samplerate = sf.read(BytesIO(wavdata.read()))
                    #Der Prozess, den Sie hier setzen möchten
        except:
            abort(400)
    else:
        abort(400)
    return 'OK'

def checker(user_id, key):
    valid = False
    if user_id == "user_id":
        if key == "key":
            valid = True
    return valid


if __name__ == "__main__":
    port = int(os.getenv("PORT", 5000))
    app.run(host="0.0.0.0", port=port)

Anfrageseite

import requests

class Message:
    def __init__(self):
        self.accessURL = "http://localhost:5000/webapp"
        self.accesskey = "ok"
        self.accessPASSWORD = "qiita"

    def put_wav(self, user_id, key):
        self.headers = {"KEY": self.accesskey, "PWD": self.accessPASSWORD}
        self.payload = {"TYPE": "wav_message", "USERID": user_id, "KEY": key}
        fileName = 'test.wav'
        files = {'file': open(fileName, 'rb')}
        r = requests.post(self.accessURL, headers=self.headers, params=self.payload, files=files)
        print(r.text)

if __name__ == "__main__":
    message = Message()
    message.put_wav(user_id="user_id", key="key")

Recommended Posts

[Python] POST-WAV-Dateien mit Anforderungen [POST]
Wiederholen Sie den Vorgang mit Python-Anforderungen
Lesen Sie WAV-Dateien nur mit dem Python-Standardpaket
POST json mit Python 3-Skript
Post to Slack mit Python 3
Sortieren von Bilddateien mit Python (2)
Sortieren Sie große Dateien mit Python
Sortieren von Bilddateien mit Python (3)
Bilddateien mit Python sortieren
Integrieren Sie PDF-Dateien in Python
TXT-Dateien mit Python lesen
Extrahieren Sie Zip-Dateien rekursiv mit Python
Bearbeiten von EAGLE .brd-Dateien mit Python
Quine Post mit Qiita API (Python)
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
MP3 → WAV-Konvertierung mit Python
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Behandeln Sie Excel-CSV-Dateien mit Python
Lesen Sie Dateien parallel zu Python
Mit Python 3 einfach auf Twitter posten
Senden Sie mehrteilige / Formulardaten mit Python-Anforderungen
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Spielen Sie eine Audiodatei von Python mit Interrupt ab
POST verschieden mit Python und empfange mit Flask
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
Lesen und Schreiben von JSON-Dateien mit Python
Laden Sie mit Python Dateien im Web herunter
[Easy Python] Lesen von Excel-Dateien mit openpyxl
[Easy Python] Lesen von Excel-Dateien mit Pandas
Rufen Sie APIGateWay mit APIKey in Python-Anforderungen auf
Transkribieren Sie WAV-Dateien mit der Cloud Speech API
Statistik mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Poste den hochfliegenden Titel von Youtube mit python3 auf Twitter
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Zeichenkodierung beim Umgang mit Dateien in Python 3
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Lesen und Schreiben passt Dateien mit Python (Memo)
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Zip, entpacken mit Python