Python requests delete with body

I'm using the requests package for interacting with the toggl.com API.

I can perform GET and POST requests:

    payload = {'some':'data'}
    headers = {'content-type': 'application/json'}
    url = "https://www.toggl.com/api/v6/" + data_description + ".json"
    response = requests.post(url, data=json.dumps(payload), headers=headers,auth=HTTPBasicAuth(toggl_token, 'api_token'))

but i cant seem to find a way to perform a DELETE request. Is this possible?

tkone

21.2k5 gold badges51 silver badges77 bronze badges

asked Apr 17, 2012 at 12:57

Use requests.delete instead of requests.post

payload = {'some':'data'}
headers = {'content-type': 'application/json'}
url = "https://www.toggl.com/api/v6/" + data_description + ".json"

response = requests.delete(
    url, 
    data=json.dumps(payload), 
    headers=headers,
    auth=HTTPBasicAuth(toggl_token, 'api_token')
)

answered Apr 17, 2012 at 13:02

Elvis D'SouzaElvis D'Souza

2,1931 gold badge22 silver badges30 bronze badges

1

import requests
url = 'url.example.ap'
headers = {
    'content-type': "multipart/form-data; boundary=---- ",
    'X-Auth-Token': ""anytoken"",
    'Cache-Control': "no-cache"
    }
r = requests.delete(url, headers=headers)
n = os.write(sys.stdout.fileno(), r.content)
print r.content == r.text

Python requests delete with body

answered Sep 13, 2018 at 7:38

Not the answer you're looking for? Browse other questions tagged python django httprequest or ask your own question.

❮ Requests Module


Example

Make a DELETE request to a web page, and return the response text:

import requests

x = requests.delete('https://w3schools.com/python/demopage.php')

print(x.text)

Run Example »


Definition and Usage

The delete() method sends a DELETE request to the specified url.

DELETE requests are made for deleting the specified resource (file, record etc).


Syntax

requests.delete(url, args)

args means zero or more of the named arguments in the parameter table below. Example:

requests.delete(url, timeout=2.50)


Parameter Values

ParameterDescription
url Try it Required. The url of the request
allow_redirects Try it Optional. A Boolean to enable/disable redirection.
Default True (allowing redirects)
auth Try it Optional. A tuple to enable a certain HTTP authentication.
Default None
cert Try it Optional. A String or Tuple specifying a cert file or key.
Default None
cookies Try it Optional. A dictionary of cookies to send to the specified url.
Default None
headers Try it Optional. A dictionary of HTTP headers to send to the specified url.
Default None
proxies Try it Optional. A dictionary of the protocol to the proxy url.
Default None
stream Try it Optional. A Boolean indication if the response should be immediately downloaded (False) or streamed (True).
Default False
timeout Try it Optional. A number, or a tuple, indicating how many seconds to wait for the client to make a connection and/or send a response.
Default None which means the request will continue until the connection is closed
verify Try it
Try it
Optional. A Boolean or a String indication to verify the servers TLS certificate or not.
Default True

Return Value

The delete() method returns a requests.Response object.


❮ Requests Module