[問題] http 應該是協定問題吧.....

看板C_and_CPP作者 (原來...)時間16年前 (2010/02/26 11:59), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 用QT的QNetworkAccessManager 大概程式碼: QNetworkAccessManager *manager; manager->get(QNetworkRequest(QUrl(url))); 若url = http://www.google.com 會出現301 Moved 什麼的 若url = http://www.google.com.tw/search?q=%1yahoo 則會出現正常的網頁搜尋結果 我知道這不是coding的問題,但是我是新手,不是很確定這個問題 我個人認為: 給了QNetworkAccessManager 一個url, 他就會幫你處理好http裡面的protocol所需要的東西(ex: protocol head) 那為什麼google的首頁不行呢? 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) QT 補充說明: 這是別人的blog, 看起來好像知道是什麼問題 http://www.cppblog.com/timeelapsing/archive/2009/04/04/78966.html 希望至少可以徵到關鍵字 >"< 第一次寫http application, 先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.66.243.96 ※ 編輯: washable 來自: 61.66.243.96 (02/26 12:01)

02/26 12:36, , 1F
問題會不會是在 301 上, 表示要轉址? 所以換個 url 就可以?
02/26 12:36, 1F

02/26 12:38, , 2F
所以你想存取的網頁沒問題,應該就可以不用管吧?
02/26 12:38, 2F

02/26 12:38, , 3F
header要放User-Agent, 不然google不會理你的樣子..
02/26 12:38, 3F
我猜QT的API會幫我放

02/26 12:42, , 4F
我想關鍵字應該是 301, 不過我也不懂 ...
02/26 12:42, 4F

02/26 13:11, , 5F
301 的話應該回傳的 http header 會有 Location:
02/26 13:11, 5F

02/26 13:11, , 6F
照那後面的位址再要一次就好
02/26 13:11, 6F

02/26 13:13, , 7F
301 302 都是這樣處理
02/26 13:13, 7F
如L大和t大說的 照著傳回來的網址重新要一次就好了 因為QT官方網頁寫說他很powerful, 所以我以為他會幫我處理到我有正確的東西 XD 而那網誌的主人的意思我也懂了, 這個API只做一次互傳Data 不會照著301的問題幫我重傳 大致瞭解了, 謝謝^^" ※ 編輯: washable 來自: 61.66.243.96 (02/26 14:00)

02/26 15:47, , 8F
找一下 http header 的定義吧 XD
02/26 15:47, 8F
因為用QT的API, 不太需要自己分析header(大概吧...) 不過找到他分析的header的type了 謝謝^^ ※ 編輯: washable 來自: 61.66.243.96 (02/26 15:52)
文章代碼(AID): #1BXqSI4d (C_and_CPP)