我想使用從下面顯示的數據包獲得的信息創建到Web服務器的tcp連接。要做到這一點,我需要數據包的主機名和portno得到一個地址,我可以使用連接功能C++如何從Http GET數據包獲取主機名
這是假設我正在使用c + + 我可以假設portno與服務器對話請求爲html頁面將80? 如何從包中獲取主機名,假定數據包是char數組的形式?我目前提取字符串bits.wikimedia.org並使用它作爲主機名。那是對的嗎? 一旦我有主機名,我假設我將它傳遞給getaddrinfo,並使用我與該函數一起傳入的結構來生成一個結構,其中包含可以理解connect函數的信息。這個假設是否正確?
GET http://bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&lang=en&modules=site&only=scripts&skin=vector&* HTTP/1.1
Host: bits.wikimedia.org
Proxy-Connection: close
User-Agent: Mozilla/5.0 (compatible; Konqueror/4.6; Linux) KHTML/4.6.5 (like Gecko) Fedora/4.6.5-7.fc15
Referer: http://en.wikipedia.org/wiki/Firewall_(computing)
Accept: */*
Accept-Encoding: x-gzip, x-deflate, gzip, deflate
Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5
Accept-Language: en-US,en;q=0.9