เมื่อไม่นานมานี้ฉันสามารถใช้:
cat somefile.txt | openssl s_client -connect server:port -quiet -comp
อย่างไรก็ตามคำสั่งนี้ใช้งานไม่ได้แม้กับ-ign_eof
:
$ cat somefile.bmp | openssl s_client -connect server:port -quiet -ign_eof
write:errno=32
เพราะ somefile ประกอบด้วยข้อมูลไบนารีบริสุทธิ์(ที่.bmp
เป็นรูปแบบเดียวที่ได้รับการยอมรับโดยเซิร์ฟเวอร์และsomefile.bmp
จะต้องใช้เวลามากเกินไปที่จะส่งการบีบอัด)
ไม่ใช่เพื่อความปลอดภัยเนื่องจากข้อมูลที่ฉันส่งเป็นข้อมูลสาธารณะ แต่ฉันไม่ได้ควบคุมเซิร์ฟเวอร์ที่ไม่อนุญาตการเชื่อมต่อที่ปลอดภัย
ในความเป็นจริง somefile.bmp ถูกสร้างขึ้นแบบไดนามิกโดยสคริปต์ทุบตีของฉันเป็นส่วนต่าง ๆ ของการส่งต้องรอการตอบสนองจากเซิร์ฟเวอร์ดังนั้นฉันไม่สามารถอ่านจากไฟล์โดยตรง แต่ต้องใช้ไพพ์
—
user2284570
ท่อของคุณเสียนั่นคือสิ่งที่ errno 32 มีความหมายดังนั้นฉันแนะนำให้คุณใช้
—
Moises Najar
enc base64
ก่อนทำแมว
@MoisesNajar: ตกลงคุณกำลังด้านขวาstackoverflow.com/q/36924673/2284570
—
user2284570