Re: [問題] 請問telnet程式...
※ 引述《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
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章