使用请求模块在python中使用带有参数的post请求

时间:2016-10-20 14:42:48

标签: python

我编写了一个php脚本,它基本上从发布请求中获取参数并发送基于此的电子邮件。我可以更轻松地使用python发送电子邮件,但如果完成,这个项目将无法按预期工作。问题不在于php,因为我之前使用过c ++而且一切正常。使用python时出现问题。我知道我做错了什么,而且我很清楚基于研究的内容,但我自己也无法找到解决方法。我知道我需要使用带有data = in" requests.post"的字典。但我不太确定如何去做这件事。这是尝试过的代码。

sshd_config

2 个答案:

答案 0 :(得分:0)

将数据放入URL主要用于GET请求。服务器可能会或可能不会在POST请求中注意到它。试试这个:

r = requests.post("http://example.com/mailer.php", data={
    'who': w, 'name': n, 'from': f, 'sub': s, 'mess': m})
print(r.status_code, r.reason)

答案 1 :(得分:0)

尝试按如下方式构建data dictionary

payload = {
    'who': w,
    'name': n,
    'from': f,
    'sub': s,
    'mess': m,
}

r = requests.post("http://example.com/mailer.php", data=payload)

另外,请注意:

if not all((w, n, f, m)):

是一个更好的平等因素:

if w=="" or n=="" or f=="" or m=="":