看板 C_and_CPP 關於我們 聯絡資訊
我用winsocket 寫了一個丟HTTP1.1 GET給網站 要recv 它的回應的程式 然後就try了幾個網頁去丟丟看 得到的訊息大多都是 302 收不到網站回傳網頁的原始檔 丟給www.yahoo.com 得到 200 但是回傳過來的原始檔大多停在title後面的meta name 第三項就停住了 奇怪的是偶爾會收到再多一點 我有去姑狗過查到有人家寫好的目的一樣的winsocket 程式 用他的code compile完一樣 丟給www.yahoo.com 結果得到跟我自己寫的一樣的結果 請問一下這樣是正常的嗎 ? 如果不是那問題是出在哪邊呢 http://www.zedwood.com/article/113/cpp-winsock-basic-http-connection 這是我搜尋到的 可執行CODE -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 106.1.95.104
yan12125:可能是你的網路環境有特別的設定(proxy?) 換台電腦試試 12/01 23:59
yan12125:抱歉,剛剛沒有仔細看code,是while()有問題 12/02 00:59
yan12125:應該寫while(resp_leng>0),因為tcp packet的大小不是 12/02 01:00
yan12125:1024的倍數,這樣寫會變成讀完一個封包就離開while 12/02 01:01
yan12125:還有response += string(response).substr(0, resp_leng) 12/02 01:04
yan12125:應該寫response.append(buffer, resp_leng),不然可能會 12/02 01:06
yan12125:crash 12/02 01:09
adxis:302的話,你要的網頁在 location header field 得另外送req 12/02 03:29
adxis:(request) 12/02 03:29
pichubaby:建議去看RFC2616,或是至少先看過wiki的HTTP Statuscode 01/02 03:30