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;
//thingspeak.com/docs/channels#create
DELETE //api.thingspeak.com/channels/4/feeds api_key=XXXXXXXXXXXXXXXXTô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 = "//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
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 ('//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ố
URL | Thử nó | Yêu cầu. URL của yêu cầu |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default True (allowing redirects) |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default None |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default None |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default None |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default None |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default None |
cho phép_redirects | Thử nó | Yêu cầu. URL của yêu cầu Default def clear(channel_id): data = {} data['api_key'] = 'DUCYS8xufsV613VX' URL_delete = "//api.thingspeak.com/channels/" + str(channel_id) + "/feeds" r = requests.delete(URL_delete, data) 3 |
cho phép_redirects | Thử 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_redirects | Khô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