ฉันเพิ่งติดตั้ง Ubuntu 21.04 ฉันรู้สึกประหลาดใจที่พบว่าเวอร์ชันของ curl ที่ติดตั้งไม่แสดงเนื้อความตอบกลับ JSON ในหลาย ๆ กรณี... ฉันยังคงพยายามทำความเข้าใจว่าทำไมบางครั้งเนื้อความ JSON จึงแสดงและบางครั้งก็ไม่แสดง ในบางกรณีการเพิ่ม -H "ยอมรับ: แอปพลิเคชัน/json"
การโทรจะแสดงเนื้อหา แต่ฉันไม่เคยจำเป็นต้องระบุมาก่อน
น่าเสียดายที่ API ที่ฉันค้นพบนี้เป็นข้อมูลภายในบริษัท ดังนั้นฉันจึงไม่สามารถโพสต์ตัวอย่างเฉพาะเจาะจงได้ แต่ฉันจะบอกว่าเป็น API ที่โฮสต์บน AWS ApiGateway ในกรณีที่มีประโยชน์ GET เนื้อหาการตอบสนองเป็น JSON และแสดงผลได้ดีทั้งบน Debian และ macOS
- รุ่นของ curl บนคอมพิวเตอร์ Ubuntu ของฉันคือ 7.74
- เวอร์ชันบนคอมพิวเตอร์ที่ทำงานของฉัน (macOS) คือ 7.64
- วิ่ง
curl -v https://api.company.com/dev/endpoint
บนเครื่อง Ubuntu ของฉันและที่ทำงาน MacBook ให้ผลลัพธ์ที่เหมือนกันเกือบทั้งหมดที่ลงท้ายด้วย
* การเชื่อมต่อ #0 ไปยังโฮสต์ api.company.com ยังคงอยู่
ในทั้งสองเครื่อง แต่ใน macOS มีบรรทัดเพิ่มเติมที่มีเนื้อความ
{"internal_code": "ok", ....}* กำลังปิดการเชื่อมต่อ 0
สุดท้ายนี้ผมขอเสริมว่า...
- เนื้อหาการตอบสนอง JSON ของ
ขด https://reqbin.com/echo/get/json
ไม่แสดงบน Ubuntu และ บางครั้ง ร่างกายจาก API ภายในจะแสดงถ้าฉันเพิ่ม -H "ยอมรับ: แอปพลิเคชัน/json"
ไปที่ขด (แต่ไม่ใช่ เสมอ).
- เนื้อหาการตอบสนอง HTML ดูเหมือนจะแสดงอยู่เสมอ