tôi thành công có thể tạo ra một nơi qua curl
thực hiện các lệnh sau:Làm thế nào để chuyển tải trọng thông qua tệp JSON cho curl?
$ curl -vX POST https://server/api/v1/places.json -d "
auth_token=B8dsbz4HExMskqUa6Qhn& \
place[name]=Fuelstation Central& \
place[city]=Grossbeeren& \
place[address]=Buschweg 1& \
place[latitude]=52.3601& \
place[longitude]=13.3332& \
place[washing]=true& \
place[founded_at_year]=2000& \
place[products][]=diesel& \
place[products][]=benzin \
"
Máy chủ trả HTTP/1.1 201 Created
.
Bây giờ tôi muốn để lưu trữ các tải trọng trong một tệp JSON mà trông như thế này:
// testplace.json
{
"auth_token" : "B8dsbz4HExMskqUa6Qhn",
"name" : "Fuelstation Central",
"city" : "Grossbeeren",
"address" : "Buschweg 1",
"latitude" : 52.3601,
"longitude" : 13.3332,
"washing" : true,
"founded_at_year" : 2000,
"products" : ["diesel","benzin"]
}
Vì vậy, tôi sửa đổi lệnh được thực thi như thế này:
$ curl -vX POST http://server/api/v1/places.json -d @testplace.json
này vẫn thất bại trở về HTTP/1.1 401 Unauthorized
. Tại sao?
Tôi đã cố gắng sử dụng 'cat file.json' sau' -d' và gặp sự cố với nó, cho đến khi tôi biết được câu trả lời này có thể sử dụng '@ file.json'. Cảm ơn :) – shadi
@mata Có thể vui lòng xem xét câu hỏi [http://stackoverflow.com/questions/42021113/how-to-use-curl-to-access-the-github-graphql-api] –
lưu ý rằng nếu bạn cần nhiều tiêu đề, bạn cần phải xác định '-H' /' --header' nhiều lần, ít nhất là khi được thử nghiệm trong bash trên Ubuntu. –