requests.post 到 hastebin.com 不工作

requests.post to hastebin.com not working

我正在尝试使用 python 中的 requests 模块在 http://hastebin.com/

中制作 post

但我一直在失败,不知道该怎么做。有什么方法可以让我真正在网站上制作 post 吗?这是我当前的代码:

import requests

payload = "s2345"

headers = {
    'Host': 'hastebin.com',
    'Connection': 'keep-alive',
    'Content-Length': '5',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Origin': 'http://hastebin.com',
    'X-Requested-With': 'XMLHttpRequest',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36',
    'Content-Type': 'application/json; charset=UTF-8',
    'Referer': 'http://hastebin.com/',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'en-US,en;q=0.8'
    }

req = requests.post('http://hastebin.com/',headers = headers, params=payload)


print (req.json())

查看 provided haste client code 服务器需要原始 post 文件,没有特定的内容类型。客户端也 post 到 /documents 路径,而不是根 URL。

他们也不挑剔headers,就交给requests去设置吧;以下对我有用,并在网站上创建了一个新文档:

import requests

payload = "s2345"

response = requests.post('http://hastebin.com/documents', data=payload)
if response.status_code == 200:
    print(response.json()['key'])

请注意,我在这里使用了 data,而不是设置 URL 查询参数的 params 选项 .