将curl转换为httplib头部

2024-04-16 07:25:12 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Mailgun时,我有以下“curl”命令:

curl -s --user 'api:key-xxxxxx' \
    https://api.mailgun.net/v3/sandboxyyyyyy.mailgun.org/messages \
    -F from='Excited User <mailgun@sandboxyyyyyy.mailgun.org>' \
    -F to=ToEmail1@domain.com \
    -F to=ToEmail2@domain.com \
    -F subject='Hello' \
    -F text='Testing some Mailgun awesomness!'

我需要使用“httplib”(不是请求!)在Python中用Mailgun发送电子邮件。如何将上面的curl命令转换为要在中使用的HTTP头HttpConnection的请求('POST',URL,params,标题)?在


Tags: tokeyhttpsorg命令comapinet
1条回答
网友
1楼 · 发布于 2024-04-16 07:25:12

使用httplib不是问题。在

import httplib
import urllib
from base64 import b64encode

# your form
params = urllib.urlencode({'from': 'Excited User <mailgun@sandboxyyyyyy.mailgun.org>',
                           'to': 'ToEmail1@domain.com',
                           'subject': 'Hello',
                           'text': 'Testing some Mailgun awesomness!'})

# build authorization
user_and_pass = b64encode(b"username:password").decode("ascii")

# headers
headers = {'Authorization': 'Basic %s' % user_and_pass}

# connection
conn = httplib.HTTPConnection("api.mailgun.net")
conn.request('POST', '/v3/sandboxyyyyyy.mailgun.org/messages', params, headers)

# get result
response = conn.getresponse()

print response.status, response.reason

data = response.read()

conn.close()

请检查沙盒url和参数。在

另外,文档可从https://documentation.mailgun.com/api-sending.html#sending获得

相关问题 更多 >