How to specify python requests http put body?

后端 未结 2 1039
南旧
南旧 2020-12-13 23:42

I\'m trying to rewrite some old python code with requests module. The purpose is to upload an attachment. The mail server requires the following specification :



        
2条回答
  •  难免孤独
    2020-12-14 00:11

    I got this thing worked using Python and it's request module. With this we can provide a file content as page input value. See code below,

    import json
    import requests
    
    url = 'https://Client.atlassian.net/wiki/rest/api/content/87440'
    headers = {'Content-Type': "application/json", 'Accept': "application/json"}
    f = open("file.html", "r")
    html = f.read()
    
    data={}
    data['id'] = "87440"
    data['type']="page"
    data['title']="Data Page"
    data['space']={"key":"AB"}
    data['body'] = {"storage":{"representation":"storage"}}
    data['version']={"number":4}
    
    print(data)
    
    data['body']['storage']['value'] = html
    
    print(data)
    
    res = requests.put(url, json=data, headers=headers, auth=('Username', 'Password'))
    
    print(res.status_code)
    print(res.raise_for_status())
    

    Feel free to ask if you have got any doubt.


    NB: In this case the body of the request is being passed to the json kwarg.

提交回复
热议问题