Hướng dẫn python requests delete with params - Yêu cầu python xóa bằng tham số

Tôi muốn thực hiện xóa HTTP với mô -đun yêu cầu Python theo API bên dưới;

https://thingspeak.com/docs/channels#create

DELETE https://api.thingspeak.com/channels/4/feeds
       api_key=XXXXXXXXXXXXXXXX

Tôi đang sử dụng mô -đun Python v2.7 và yêu cầu. Mã Python của tôi trông như thế này;

def clear(channel_id):    
    data = {}
    data['api_key'] = 'DUCYS8xufsV613VX' 
    URL_delete = "http://api.thingspeak.com/channels/" + str(channel_id) + "/feeds"
    r = requests.delete(URL_delete, data)

Mã không hoạt động vì request.delete () chỉ có thể chấp nhận một tham số. Mã chính xác nên trông như thế nào?

Hỏi ngày 28 tháng 8 năm 2015 lúc 6:23Aug 28, 2015 at 6:23

Hướng dẫn python requests delete with params - Yêu cầu python xóa bằng tham số

guagay_wkguagay_wkguagay_wk

24.6K54 Huy hiệu vàng170 Huy hiệu bạc279 Huy hiệu đồng54 gold badges170 silver badges279 bronze badges

Bạn muốn

import json
mydata = {}
mydata['api_key'] = "Jsa9i23jka"
r = requests.delete(URL_delete, data=json.dumps(mydata))

Bạn phải sử dụng đầu vào được đặt tên, 'Dữ liệu' và tôi đoán rằng bạn thực sự muốn JSON bị đổ, vì vậy bạn phải chuyển đổi từ điển của mình, 'MyData' thành chuỗi JSON. Bạn có thể sử dụng json.dumps () cho điều đó.

Tôi không biết API bạn đang sử dụng, nhưng bằng âm thanh của nó, bạn thực sự muốn truyền tham số URL, không phải dữ liệu mà bạn cần:

r = requests.delete(URL_delete, params=mydata)

Không cần phải chuyển đổi mydata Dict cho chuỗi JSON.

Đã trả lời ngày 28 tháng 8 năm 2015 lúc 6:26Aug 28, 2015 at 6:26

2

Bạn có thể gửi các thông số dữ liệu như @Eugene đề xuất, nhưng thông thường xóa các yêu cầu chỉ chứa URL và không có gì khác. Lý do là một URL yên tĩnh nên xác định duy nhất tài nguyên, do đó loại bỏ sự cần thiết phải cung cấp các tham số bổ sung để xóa. Mặt khác, nếu 'apikey' của bạn có liên quan đến xác thực, thì đó phải là một phần của tiêu đề thay vì dữ liệu yêu cầu, một cái gì đó như thế này.

headers = {'APIKEY': 'xxx'}
response = requests.delete(url, data=json.dumps(payload), headers=headers)

Đã trả lời ngày 28 tháng 8 năm 2015 lúc 6:36Aug 28, 2015 at 6:36

Hspandherhspandherhspandher

15.2k2 Huy hiệu vàng29 Huy hiệu bạc44 Huy hiệu đồng2 gold badges29 silver badges44 bronze badges

Mô -đun yêu cầu


Thí dụ

Thực hiện xóa yêu cầu vào trang web và trả về văn bản phản hồi:

Nhập yêu cầu

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

print(x.text)

Chạy ví dụ »


Định nghĩa và cách sử dụng

Phương thức delete() gửi yêu cầu xóa đến URL được chỉ định.

Xóa các yêu cầu được thực hiện để xóa tài nguyên được chỉ định (tệp, bản ghi, v.v.).


Cú pháp

Yêu cầu.Delete (URL, ARGS)

Args có nghĩa là 0 hoặc nhiều hơn các đối số được đặt tên trong bảng tham số bên dưới. Thí dụ:

Yêu cầu.Delete (URL, thời gian chờ = 2.50)


Giá trị tham số

Tham sốSự mô tả
URLThử nóYêu cầu. URL của yêu cầu
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default True (allowing redirects)
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default
def clear(channel_id):    
    data = {}
    data['api_key'] = 'DUCYS8xufsV613VX' 
    URL_delete = "http://api.thingspeak.com/channels/" + str(channel_id) + "/feeds"
    r = requests.delete(URL_delete, data)
3
cho phép_redirectsThử nóYêu cầu. URL của yêu cầu
Default None which means the request will continue until the connection is closed
cho phép_redirectsKhông bắt buộc. Boolean để bật/tắt chuyển hướng.default True (cho phép chuyển hướng)
Try it
Auth
Default True

Không bắt buộc. Một tuple để kích hoạt xác thực HTTP nhất định.default None

Chứng nhận


Mô -đun yêu cầu


Có một phương pháp xóa trong Python?

Từ khóa Del trong Python chủ yếu được sử dụng để xóa các đối tượng trong Python. Vì mọi thứ trong Python đại diện cho một đối tượng theo cách này hay cách khác, từ khóa DEL cũng có thể được sử dụng để xóa danh sách, cắt danh sách, xóa từ điển, xóa các cặp giá trị khóa khỏi từ điển, xóa các biến, v.v.. Since everything in python represents an object in one way or another, The del keyword can also be used to delete a list, slice a list, delete a dictionaries, remove key-value pairs from a dictionary, delete variables, etc.

Làm cách nào để xóa yêu cầu HTTP?

Làm cách nào để gửi yêu cầu xóa HTTP ?..
HTTP Xóa ví dụ yêu cầu.Xóa /Đường dẫn http /1.1 máy chủ: server.com ..
Xóa ví dụ yêu cầu.Xóa/Echo/Delete/JSON HTTP/1.1 Ủy quyền: Người mang {token} máy chủ: reqbin.com Chấp nhận: */ *.
HTTP Xóa ví dụ Phản hồi.HTTP/1.1 204 OK Độ dài nội dung: 0 ..

Phương pháp xóa là gì?

Phương thức xóa yêu cầu máy chủ gốc xóa tài nguyên được xác định bởi request-uri.Phương pháp này có thể bị ghi đè bởi sự can thiệp của con người (hoặc các phương tiện khác) trên máy chủ gốc.requests that the origin server delete the resource identified by the Request-URI. This method MAY be overridden by human intervention (or other means) on the origin server.

Làm thế nào để bạn gửi một yêu cầu vá trong Python?

Để gửi yêu cầu bản vá đến máy chủ, bạn cần sử dụng phương thức bản vá HTTP và bao gồm dữ liệu yêu cầu trong phần thân của thông báo HTTP.Tiêu đề yêu cầu loại nội dung phải chỉ ra loại dữ liệu trong cơ thể.Trong ví dụ yêu cầu bản vá này, chúng tôi gửi JSON đến điểm cuối Reqbin Echo để cập nhật dữ liệu trên máy chủ.use the HTTP PATCH method and include the request data in the body of the HTTP message. The Content-Type request header must indicate the data type in the body. In this PATCH request example, we send JSON to the ReqBin echo endpoint to update the data on the server.