Tôi có ứng dụng Rails 4 sử dụng xác thực dựa trên mã thông báo cho API và cần có thể cập nhật bản ghi thông qua tập lệnh Python 3.Cách sử dụng yêu cầu gửi yêu cầu PATCH với tiêu đề
kịch bản hiện tại của tôi trông như thế này
import requests
import json
url = 'http://0.0.0.0:3000/api/v1/update_experiment.json'
payload = {'expt_name' : 'A60E001', 'status' : 'done' }
r = requests.patch(url, payload)
mà hoạt động OK nếu tôi tắt xác thực API.
Tôi không thể tìm ra cách thêm tiêu đề vào tiêu đề, requests.patch
chỉ nhận hai tham số theo tài liệu.
tôi sẽ cần phải nhận được đến điểm mà các thông tin tiêu đề sau đây sẽ bổ sung
'Authorization:Token token="xxxxxxxxxxxxxxxxxxxxxx"'
Đây là loại tiêu đề hoạt động OK trong curl. Làm thế nào tôi có thể làm điều này trong Python 3 và yêu cầu?
Bạn có thực sự * thử * thêm 'header = '? Chuyện gì đã xảy ra? – jonrsharpe
Tôi mệt mỏi như 'header = {'Authorization': 'Token', 'token': 'xxxxxx'}' rồi 'r = requests.patch (url, payload, headers = headers)' nhưng không có gì xảy ra, không lỗi trong Python, không có phản ứng nào từ WebRick trên Rails. Đang cố gắng chơi với các bản ghi để xem những gì nó đang diễn ra. –