Sto usando le richieste python per pubblicare una richiesta. quando il parametro allegato ha alcuni caratteri non ascii viene sollevata un'eccezione, in altre occasioni in cui esistono solo dati ascii, tutto va bene.python richiede problemi con nomi di file non ascii
you can see the exception here
response = requests.post(url="https://api.mailgun.net/v2/%s/messages" % utils.config.mailDomain,
auth=("api", utils.config.mailApiKey),
data={
"from" : me,
"to" : recepients,
"subject" : subject,
"html" if html else "text" : message
},
files= [('attachment', codecs.open(f.decode('utf8'))) for f in attachments] if attachments and len(attachments) else []
)
Modifiche: Dopo la decodifica il nome del file con utf8, non ottengo un'eccezione tuttavia il file non è collegato. Ho debug richieste con allegare un file con i caratteri ASCII solo nel suo nome, e la richiesta intestazioni richieste build è:
{'Content-Type': None, 'Content-Location': None, 'Content-Disposition': u'form-data; name="attachment"; filename="Hello.docx"'}
Questo successo, sto ricevendo la posta con gli allegati.
Tuttavia, quando si utilizza un file con caratteri ebraici, intestazione della richiesta è:
{'Content-Type': None, 'Content-Location': None, 'Content-Disposition': 'form-data; name="attachment"; filename*=utf-8\'\'%D7%91%D7%93%D7%99%D7%A7%D7%94.doc'}
ricevo la posta, ma senza il file allegato ad esso. Qualche idea?
Mostraci la traccia di errore. L'immagine che fornisci mostra alcuni tentativi di creare un'intestazione con caratteri imprevisti. Ma questo può essere il caso di più valori che hai nel tuo codice e Stacktrace ci dirà di più. Idealmente dovresti fornire un breve pezzo di codice, che esegue e mostra il problema. Attualmente non è possibile riprodurre molto. –