จำลอง CURL เฉพาะใน PostMan


154

ฉันใช้บุรุษไปรษณีย์เพื่อทดสอบคำร้องขอ Curl ไปยังเซิร์ฟเวอร์ API ผู้พัฒนา API ให้คำสั่ง curl แก่เรา แต่ฉันไม่สามารถส่งได้จากบุรุษไปรษณีย์ วิธีการร้องขอดังกล่าวจากบุรุษไปรษณีย์

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—

คำตอบ:


423

วิธีที่ง่ายกว่าคือ:

  1. เปิด POSTMAN
  2. คลิกที่แท็บ "นำเข้า" ที่ด้านซ้ายบน
  3. เลือกตัวเลือกข้อความดิบและวางคำสั่ง cURL ของคุณ
  4. กดปุ่มนำเข้าแล้วคุณจะมีคำสั่งในเครื่องมือสร้างบุรุษไปรษณีย์ของคุณ!
  5. คลิกส่งเพื่อโพสต์คำสั่ง

หวังว่านี่จะช่วยได้!


4
ฉันไม่เคยรู้เลยว่าคุณสามารถทำได้จนกว่าฉันจะเห็นโพสต์นี้ ขอบคุณ!
พัฒนาซอฟต์แวร์

3
นี่คือสิ่งที่ฉันต้องการ ขอบคุณ!
Joshua Dance

3
ฉันลองแล้วมันใช้งานได้บางส่วน นี่คือคำขอ curl ของฉัน: 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 หลังจากนำเข้าร่างกายได้รับการนำเข้าอย่างถูกต้องส่วนหัวและ Url ก็นำเข้าเช่นกัน เฉพาะคีย์ api 9f4d7f5445e7 ซึ่งอยู่-u 9f4d7f5445e7: https://api.myapp.com/api/v1/eventในคำขอ curl ไม่ได้นำเข้าหรืออาจเป็นบุรุษไปรษณีย์ข้าม ความคิดใด ๆ วิธีการแก้ไขหรือไม่
Rito

1
ฉันคิดออกเพื่อนำเข้า curl cmd โดย myselft แต่บางครั้งฉันก็พบว่าหน้าเว็บที่มี curl นำเข้าของฉันดูเหมือนว่าจะไม่มีอะไรเกิดขึ้นเมื่อนำเข้าไฟล์ / cmd จากนั้นคุณต้องคลิกที่ปุ่ม "รหัส" ที่ด้านขวาบน (ใต้ปุ่มบันทึก) จากนั้นคุณจะเห็นว่าขดของคุณโหลดหรือไม่
zhihong

วิธีนี้ไม่ได้ใช้ข้อมูลประจำตัวที่ฉันเขียนลงไปดังนั้นจึงต้องเพิ่มข้อมูลเหล่านั้นด้วยตนเองโดยใช้ Auth> Auth พื้นฐานภายในคำขอจริงโดยใช้เมาส์และดรอปดาวน์ ควรกล่าวถึงฉันคิดว่าเนื่องจากพฤติกรรมของซอฟต์แวร์เป็นที่ยอมรับและใช้เครดิต: สิ่งที่คุณได้รับคือ "โปรดระบุข้อมูลประจำตัวที่ถูกต้อง" แทนที่จะเป็น "โปรดระบุข้อมูลประจำตัว"
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) ใส่https://api-server.com/API/index.php/member/signinในช่องใส่ url แล้วเลือกPOSTจากดรอปดาวน์

2) ในแท็บส่วนหัวให้ป้อน:

ประเภทเนื้อหา: ภาพ / jpeg

การถ่ายโอนเนื้อหาเข้ารหัส: ไบนารี

3) ในแท็บ Body เลือกrawปุ่มตัวเลือกและเขียน:

{"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"}

เลือกform-dataปุ่มตัวเลือกและเขียน:

key = name Value = userfile เลือกText key = filename เลือกFileและอัปโหลด profil.jpg ของคุณ


5

ฉันลองวิธีที่กล่าวถึงโดย Onkaar Singh

  1. เปิด POSTMAN
  2. คลิกที่แท็บ "นำเข้า" ที่ด้านซ้ายบน
  3. เลือกตัวเลือกข้อความดิบและวางคำสั่ง cURL ของคุณ
  4. กดปุ่มนำเข้าแล้วคุณจะมีคำสั่งในเครื่องมือสร้างบุรุษไปรษณีย์ของคุณ!

แต่ปัญหาคือมันใช้ไม่ได้กับ Apis ที่ต้องได้รับอนุญาต

นี่คือคำขอขดของฉัน:

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

หลังจากนำเข้าร่างกายได้นำเข้าอย่างถูกต้องส่วนหัวและ Url ก็นำเข้า เฉพาะคีย์ api 9f4d7f5445e7 ซึ่งเป็น

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

ในคำขอ curl ไม่ได้นำเข้า

วิธีที่ฉันแก้ไขมันคือ -u ใช้สำหรับการอนุญาตโดยทั่วไป ดังนั้นในการใช้งานในบุรุษไปรษณีย์คุณจะต้องใช้คีย์ API (ซึ่ง9f4d7f5445e7ในกรณีนี้) และทำ Base64 Encode OWY0ZDdmNTQ0NWU3เมื่อเข้ารหัสมันจะส่งกลับค่า แล้วเพิ่มหัวใหม่ชื่อคีย์จะเป็นและความคุ้มค่าที่สำคัญจะเป็นAuthorization Basic OWY0ZDdmNTQ0NWU3หลังจากทำการเปลี่ยนแปลงนั้นคำขอก็ใช้ได้สำหรับฉัน

มีตัวเข้ารหัส Base64 ออนไลน์อยู่หนึ่งตัวที่ฉันใช้คือhttp://www.url-encode-decode.com/base64-encode-decode/

หวังว่ามันจะช่วย !!!


บนแท็บการอนุญาตของบุรุษไปรษณีย์เพียงเลือก Basic Auth และมันจะสร้างส่วนหัว Base64
electricbah

2

บางครั้งเมื่อใดก็ตามที่คุณคัดลอก cURL จะมี - บีบอัด ลบออกขณะที่นำเข้า -> วางข้อความดิบ -> คลิกที่การนำเข้า นอกจากนี้ยังจะแก้ปัญหาหากคุณได้รับข้อผิดพลาดทางไวยากรณ์ในบุรุษไปรษณีย์ในขณะที่นำเข้า cURL ใด ๆ

โดยทั่วไปเมื่อผู้คนคัดลอก cURL จากเครื่องมือพร็อกซีเช่น Charles มันเกิดขึ้น


0

ดังกล่าวในหลายคำตอบข้างต้นคุณสามารถนำเข้า cURL ใน POSTMAN โดยตรง แต่ถ้า URL ได้รับอนุญาต (หรือไม่ทำงานด้วยเหตุผลบางอย่าง) ไม่ดีแนะนำให้คุณเพิ่มจุดข้อมูลทั้งหมดด้วยตนเองเป็น JSON ในร่างกายบุรุษไปรษณีย์ของคุณ รับ URL API จาก cURL

สำหรับส่วนการอนุญาตเพียงแค่เพิ่มคีย์การอนุญาตและสตริงการเข้ารหัส 64 ฐานเป็นค่า

ตัวอย่าง:

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" }

ส่วนหัว: Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J โดยที่ "cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVLZ3JIQVVNZ3JNS *** U056V25J" เป็นรูปแบบที่เข้ารหัสของ "rzp_test_26ccbdbfe0e84b1342224424"

เคล็ดลับเล็ก ๆ : สำหรับการเข้ารหัสคุณสามารถไปที่คอนโซล Chrome ของคุณได้อย่างง่ายดาย (คลิกขวา => ตรวจสอบ) และพิมพ์: btoa("string you want to encode")(หรือใช้การอนุญาตพื้นฐานบุรุษไปรษณีย์)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.