Mô phỏng một CURL cụ thể trong PostMan


153

Tôi đang sử dụng Postman để kiểm tra một số yêu cầu Curl đến máy chủ API. Các nhà phát triển API đã cho chúng tôi lệnh curl, nhưng tôi không thể gửi nó từ Người đưa thư. Làm thế nào để thực hiện một yêu cầu như vậy từ Người đưa thư?

curl -X POST "https://api-server.com/API/index.php/member/signin" -d "{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}"

--0xKhTmLbOuNdArY
Content-Disposition: form-data; name="userfile"; filename="profil.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

<ffd8ffe0 00104a46 49460001 01010048 ... a00fffd9>

—0xKhTmLbOuNdArY—

Câu trả lời:


422

Một cách tiếp cận đơn giản hơn sẽ là:

  1. Mở BÀI VIẾT
  2. Nhấp vào tab "nhập" ở phía trên bên trái.
  3. Chọn tùy chọn Văn bản thô và dán lệnh cURL của bạn.
  4. Nhấn nhập và bạn sẽ có lệnh trong trình tạo Postman của bạn!
  5. Bấm Gửi để gửi lệnh

Hi vọng điêu nay co ich!


4
Tôi không bao giờ biết bạn có thể làm điều này cho đến khi tôi thấy bài viết này. Cảm ơn!
triển austinthed

3
Đây chính xác là những gì tôi muốn. Cảm ơn!
Vũ điệu Joshua

3
Tôi đã thử nó và nó hoạt động một phần. Đây là yêu cầu curl của tôi: curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' -u 9f4d7f5445e7: https://api.myapp.com/api/event Sau khi nhập phần thân đã được nhập chính xác, các tiêu đề và Url cũng được nhập. Chỉ có khóa api 9f4d7f5445e7 -u 9f4d7f5445e7: https://api.myapp.com/api/v1/eventtrong yêu cầu curl không nhập hoặc có thể Postman đã bỏ qua nó. Bất kỳ ý tưởng làm thế nào để giải quyết nó?
Rito

1
Tôi tìm ra nó để nhập cmd curl bởi myselft. Nhưng đôi khi tôi đã tìm ra trang ở đâu với cuộn tròn được nhập của tôi, có vẻ như không có gì xảy ra khi nhập tệp / cmd. Sau đó, bạn cần nhấp vào nút "mã" ở phía trên bên phải (bên dưới nút lưu). Sau đó, bạn sẽ thấy liệu curl của bạn đã được tải hay chưa.
zhihong

Cách tiếp cận này không sử dụng thông tin đăng nhập mà tôi đã mã hóa vào nó, vì vậy phải thêm những thông tin thủ công bằng cách sử dụng Auth> Basic Auth, bên trong yêu cầu thực tế bằng cách sử dụng chuột và thả xuống. Đáng nói là tôi nghĩ, vì hành vi của phần mềm giống như đã chấp nhận và sử dụng các khoản tín dụng: tất cả những gì bạn nhận được là "vui lòng cung cấp thông tin xác thực hợp lệ" thay vì "vui lòng cung cấp một số thông tin đăng nhập".
olisteadman

12
In addition to the answer
1. Open POSTMAN
2. Click on "import" tab on the upper left side.
3. Select the Raw Text option and paste your cURL command.
4. Hit import and you will have the command in your Postman builder!
5. If -u admin:admin are not imported, just go to the Authorization 
   tab, select Basic Auth -> enter the user name eg admin and password eg admin.
This will automatically generate Authorization header based on Base64 encoder

5

1) Đặt https://api-server.com/API/index.php/member/signinvào hộp nhập url và chọn POSTtừ danh sách thả xuống

2) Trong tab Tiêu đề, nhập:

Loại nội dung: hình ảnh / jpeg

Nội dung-Chuyển-Mã hóa: nhị phân

3) Trong tab Body, chọn rawnút radio và viết:

{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}

chọn form-datanút radio và viết:

key = name Value = userfile Chọn Text key = filename Chọn Filevà tải lên profil.jpg


5

Tôi đã thử cách tiếp cận được đề cập bởi Onkaar Singh,

  1. Mở BÀI VIẾT
  2. Nhấp vào tab "nhập" ở phía trên bên trái.
  3. Chọn tùy chọn Văn bản thô và dán lệnh cURL của bạn.
  4. Nhấn nhập và bạn sẽ có lệnh trong trình tạo Postman của bạn!

Nhưng vấn đề là nó không hoạt động đối với Apis cần có sự cho phép.

Đây là yêu cầu curl của tôi:

curl -v -H "Accept: application/json" -H "Content-type:
application/json" -X POST -d ' 
{"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' 
-u 9f4d7f5445e7: https://api.myapp.com/api/event

Sau khi nhập phần thân được nhập chính xác, các tiêu đề và Url cũng được nhập. Chỉ có khóa api 9f4d7f5445e7 là

-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event 

trong yêu cầu curl không nhập.

Cách tôi giải quyết là, -u về cơ bản được sử dụng cho Ủy quyền. Vì vậy, trong khi sử dụng nó trong Postman, bạn phải lấy khóa API ( 9f4d7f5445e7trong trường hợp này) và thực hiện Mã hóa Base64. Sau khi được mã hóa, nó sẽ trả về giá trị OWY0ZDdmNTQ0NWU3. Sau đó thêm một tiêu đề mới, tên khóa sẽ là Authorizationvà giá trị khóa sẽ là Basic OWY0ZDdmNTQ0NWU3. Sau khi thực hiện những thay đổi đó, yêu cầu đã làm việc cho tôi.

Có sẵn Bộ mã hóa Base64, cái tôi đã sử dụng là http://www.url-encode-decode.com/base64-encode-decode/

Hy vọng nó giúp!!!


trên tab ủy quyền của người đưa thư chỉ cần chọn Auth cơ bản và nó sẽ tạo tiêu đề Base64
Electricalbah

2

đôi khi bất cứ khi nào bạn sao chép cURL, nó chứa - nén. Xóa nó trong khi nhập-> Dán văn bản thô -> nhấp vào nhập. Nó cũng sẽ giải quyết vấn đề nếu bạn gặp lỗi cú pháp trong postman trong khi nhập bất kỳ cURL nào.

Nói chung, khi mọi người sao chép cURL từ bất kỳ công cụ proxy nào như Charles, điều đó sẽ xảy ra.


0

Như đã đề cập trong nhiều câu trả lời ở trên, bạn có thể nhập trực tiếp cURL trong POSTMAN. Nhưng nếu URL được ủy quyền (hoặc không hoạt động vì một số lý do) thì đề nghị bạn có thể thêm thủ công tất cả các điểm dữ liệu dưới dạng JSON trong phần thân người đưa thư của mình. lấy URL API từ cURL.

đối với phần Ủy quyền - chỉ cần thêm khóa Cấp phép và chuỗi mã hóa cơ sở 64 làm giá trị.

thí dụ:

curl -u rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a \ https://api.razorpay.com/v1/orders -X POST \ --data "amount=50000" \ --data "currency=INR" \ --data "receipt=Receipt #20" \ --data "payment_capture=1" https://api.razorpay.com/v1/orders

{ "amount": "5000", "currency": "INR", "receipt": "Receipt #20", "payment_capture": "1" }

Tiêu đề: Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J trong đó "cnpwX3Rlc3Rfwek5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS *** U056V25J" là hình thức được mã hóa của "rzp_bbb2

mẹo nhỏ: để mã hóa, bạn có thể dễ dàng truy cập bảng điều khiển chrome của mình (nhấp chuột phải => kiểm tra) và gõ: btoa("string you want to encode")(hoặc sử dụng ủy quyền cơ bản của người đưa thư)

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.