如何用Python的REQUESTS包发出post请求?

2024-05-17 06:59:07 发布

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

我正在尝试使用togglapi。在

我使用请求而不是Urllib2来处理我的GETs-en帖子。但我被卡住了。在

payload = {
    "project":{
        "name":"Another Project",
        "billable":False,
        "workspace":{
            "Name":"jorrebor's workspace",
            "id":213272
        },
        "automatically_calculate_estimated_workhours":False
    }
}

url = "https://www.toggl.com/api/v6/projects.json"
r = requests.post(url, data=json.dumps(payload), auth=HTTPBasicAuth('j_xxxxx@gmail.com', 'mypassword'))

身份验证似乎很好,但有效负载格式可能不是

具有相同参数的curl命令:

^{pr2}$

工作正常。在

我的有效载荷怎么了?得到的答复是: [“名称不能为空”,“工作区不能为空”]

这使我得出结论,身份验证有效,但toggl无法读取我的json对象。在


Tags: nameprojectcom身份验证jsonfalseurlurllib2
1条回答
网友
1楼 · 发布于 2024-05-17 06:59:07

似乎应该尝试将头设置为JSON应用程序,而不是默认格式,并发送一个JSON对象,而不是Pythondict。看看这里:

payload = {"project":{"name":"Another Project",
                     "billable":False,
                     "workspace":{"Name":"jorrebor's workspace",
                                  "id":213272},
                     "automatically_calculate_estimated_workhours":False
                      }   } 

parameters_json = json.dumps(payload)
headers = {'Content-Type': 'application/json')
r = client.post(url, data=parameters_json, headers=headers)

这将允许站点读取json对象。在

相关问题 更多 >