Re: [問題] 請問telnet程式...

看板Programming作者 (PCMan 2004)時間18年前 (2006/08/07 18:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/13 (看更多)
※ 引述《TKyo (暗黑貴公子)》之銘言: : ※ 引述《ju22 (我是好人好事代表)》之銘言: : : 請問我用telnet程式去抓web server或 : : ftp server的兩進位檔(e.g.: image file、executable file) : : ,是不是抓完後還需要進過什麼樣的處理才能正確解讀? : : 因為我telnet已經使用8-bits傳輸了還有哪點沒注意嗎? : : thanks!! : 不用啊, 假設要抓取 http://www.test.com/image/test.gif
: telnet www.test.com 80 : GET /image/test.gif HTTP/1.0 ^n^n 就好了 : 而它就會丟回 HTTP header + Binary File : Binary File 的 Size 則是會在傳回的 HTTP header 之 Content-Length 中定義 : 第一個 ^n^n (HTTP header 結尾) 後, read + write + 驗證 size 就 ok 了 : 以上原理請自行參考 : Hypertext Transfer Protocol 1.0 -- HTTP/1.0 : http://www.w3.org/Protocols/rfc1945/rfc1945.txt : Hypertext Transfer Protocol 1.1 -- HTTP/1.1 : http://www.w3.org/Protocols/rfc2616/rfc2616.txt 並沒有這麼單純.... http 的部份是這樣,telnet 的部份並不是 telnet protocol 必須處理一些控制碼,例如 0xff 是 IAC, 0x00 好像是 SB 這些會被解譯為 telnet 命令,而不會當作單純的文字資料,也不會輸出在 stdout stdout 只會有 parse 過後的結果,也就是會少掉一些被解譯成控制碼的部份 Linux 的 telnet 應該會直接把 ANSI escape sequence 輸出,所以這部份應該沒影響 比較可疑的就是和 telnet command 以及 options 衝突的字元 一個 binary 檔案裡面要找到為 0xff 的 byte 是相當容易的, 而不幸這正是 telnet 最重要的指令之一.... 建議你自己寫 socket,或者用 curl,telnet 在這裡是行不通的 -- 個人網頁: http://pcman.sayya.org/ 上面有自畫像及各種聯絡資訊 PCMan 全系列 BBS 連線軟體 http://pcman.ptt.cc/ http://pcmanx.csie.net/ 新酷音輸入法 for Windows http://chewing.csie.net/ IE Tab Firefox plugin/extension http://ietab.mozdev.org/ PCMan 油畫作品集:http://www.wretch.cc/album/album.php?id=pcman&book=1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.57.142
文章代碼(AID): #14rnmty0 (Programming)
討論串 (同標題文章)
文章代碼(AID): #14rnmty0 (Programming)