2015-01-15 21 views
27

Tôi sử dụng Postman để kiểm tra một số yêu cầu Curl tới 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ó với Postman. Làm thế nào để thực hiện một yêu cầu như vậy?Mô phỏng CURL cụ thể trong PostMan

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 protected]","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— 

Trả lời

78

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

  1. Mở POSTMAN
  2. Nhấp vào tab "nhập" ở phía trên bên trái.
  3. Chọn tùy chọn Nguyên văn bản và dán lệnh cURL của bạn.
  4. Nhập lần truy cập và bạn sẽ có lệnh trong trình xây dựng Người viết bài của bạn!

Hy vọng điều này sẽ hữu ích!

+0

Tôi chưa bao giờ biết bạn có thể làm điều này cho đến khi tôi thấy bài đăng này. Cảm ơn! – austinthedeveloper

+0

Đây chính xác là những gì tôi muốn. Cảm ơn! –

+1

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" Chấp nhận: application/json "-H" Loại nội dung: application/json "-X POST -d ' {" customer_id ":" 812122 ", " sự kiện ":" add_to_cart ", " email ":" [email protected] ", } '-u 9f4d7f5445e7: https: // api.myapp.com/api/event' Sau khi nhập nội dung đã nhập chính xá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 hoặc có thể là Postman bỏ qua nó. Bất kỳ ý tưởng làm thế nào để giải quyết nó? – Rito

4

1) Đặt https://api-server.com/API/index.php/member/signin trong url hộp nhập liệu và chọn POST từ menu thả xuống

2) Trong tab Headers, hãy nhập:

Content-Type: image/jpeg

Content -Transfer-Encoding: nhị phân

3) Trong tab Nội dung, chọn nút radio raw và viết:

{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"[email protected]","pseudo":"example"}

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

key = tên Value = userfile Chọn Text key = filename Chọn File và tải profil.jpg bạn

2

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

  1. mở Postman
  2. Bấm vào "nhập khẩu" tab ở phía trên bên trái.
  3. Chọn tùy chọn Nguyên văn bản và dán lệnh cURL của bạn.
  4. Nhập lần truy cập và bạn sẽ có lệnh trong trình xây dựng Người viết bài của bạn!

Nhưng vấn đề là nó không hoạt động đối với Apis yêu cầu ủy quyền.

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

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

Sau khi nhập cơ thể đã nhập khẩu một cách chính xác, các tiêu đề và Url cũng đã nhập khẩu. 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 nó là, -u về cơ bản được sử dụng để Ủy quyền. Vì vậy, trong khi sử dụng nó trong Postman, bạn phải lấy khóa API (là 9f4d7f5445e7 trong trường hợp này) và làm Base64 Encode.Sau khi được mã hóa, nó sẽ trả về giá trị OWY0ZDdmNTQ0NWU3. Sau đó, thêm tiêu đề mới, tên khóa sẽ là Authorization và 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ó Mã hóa Base64 trực tuyến có sẵn, là tôi đã sử dụng là http://www.url-encode-decode.com/base64-encode-decode/

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

+0

trên tab ủy quyền của người đưa thư chỉ chọn Basic Auth và nó sẽ tạo tiêu đề Base64 – electricalbah

4
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 
Các vấn đề liên quan