Chuyển đổi lệnh cURL sang ob-http


7

Tôi có một loạt các lệnh curl mà tôi muốn chuyển đổi thành ob-httpcác khối mã trong một tệp org (lựa chọn thứ hai sẽ là thực hiện chúng trong restclient).

Đây là một lệnh mẫu đơn giản hóa:

curl -X POST
     --proxy http://my-proxy.local:9001 \
     --data "foo=bar" \
     --data "fizz=buzz" \
     --header "Content-Type:application/x-www-form-urlencoded" \
     --header "my-custom-header" \
     http://my-server.local/my/endpoint 

(Kết quả json được trả lại bởi cuộc gọi này sẽ được sử dụng trong cuộc gọi tiếp theo)

Làm cách nào tôi có thể chuyển đổi phần trên thành ob-httpkhối mã (hoặc, restclienttệp văn bản nếu ob-httpkhông thể hỗ trợ)


Tôi đã tìm thấy câu hỏi cũ này, nhưng nó không bao gồm đầy đủ trường hợp sử dụng của tôi và tôi không thấy trong các tài liệu được liên kết làm thế nào để thực hiện chuyển đổi ở trên: Làm cách nào để kiểm tra API REST bằng Emacs?

Câu trả lời:


1

Nó thực sự khá đơn giản:

#+begin_src http :proxy http://my-proxy.local:9001
POST http://my-server.local/my/endpoint
my-custom-header

foo=bar
&fizz=buzz
#+end_src

Bạn cũng có thể viết nội dung bài trong một dòng duy nhất. Nhiều dòng nên dễ đọc hơn cho các danh sách tham số dài mặc dù. curl(được sử dụng ob-httpcho cuộc gọi thực tế) sẽ loại bỏ các khoảng trắng bằng mọi cách. Nếu bạn sử dụng &ở đầu hoặc cuối dòng chỉ là vấn đề của hương vị. Sử dụng nó ở đầu có lợi thế là bạn chỉ phải thay đổi một dòng khi nối thêm các tham số (nhưng nó sẽ là cách khác nếu bạn muốn thêm chúng vào đầu).

Tiêu đề Content-Type: application/x-www-form-urlencodedđược đặt theo mặc định POST, nhưng bạn cũng có thể thêm nó một cách rõ ràng. Chỉ cần thêm nó dưới dạng một dòng khác sau khi POSTcùng với các tham số tiêu đề khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.