? ? C++ 服務器需要支持 http 協議,以前測試工具是 firefox 的 HttpRequester,單個功能比較容易測試,對于一個系統,幾十條協議就顯得不那么友好了。所以才有了寫個 http 協議的測試工具。
? ? 坦白說,用 VC + libcurl 能輕松地實現 http 發包的測試功能。但是VC++ 對于前端腳本有著先天的不足,需要編譯才能使用,在技術混雜的團隊里面,每個團隊成員技術專項都不一樣的,很難做到統一用 VC。
? ? 前端腳本語言有著先天的優勢,跨平臺,入門容易,而且改完后,只要刷新下頁面就能操作了,調試更簡單,瀏覽器就自帶調試功能,不需要安裝任何IDE,所以無論編碼,還是功能調試,都極大地提高了團隊的生產效率。
? ? 10 年 C++ 經驗,對于 web 前端研發,可謂一竅不通。從零開始:通過 w3school, 看了html,css,JavaScript知識 一星期,動手做花了一星期,當然作為小白的我,可能遇到很多坑,希望大家指正。期望前端頁面皮膚能漂亮點,簡單點,所以就選擇了 easyui(個人使用免費,未完全開源所有源碼,詳細請百度一下)。
? ? 測試工具功能需求很簡單:支持多個項目的測試工具。點擊一個按鈕發送一個命令請求,并且顯示回包信息。(如下圖)
作為web 前端的菜鳥,開發過程中遇到很多問題:
1、跨域問題,在c/c++ 的網絡通信中,客戶端愛連哪個就連哪個,沒想到在web 瀏覽器就不支持了。
網絡通信用的是 ajax,post 方法,json 包體,需要支持跨域的話,服務器回包,也需要添加一些頭信息
前端代碼:
服務端回包:
這些信息調試過程中服務端可以開放。
Access-Control-Allow-Methods: GET,POST
Access-Control-Allow-Origin: *
2、讀本地配置文件:本地配置文件是 json 文件,但是瀏覽器一般是不允許讀本地文件的,所以瀏覽器進程在打開的時候應該添加參數。
例如 chrome 瀏覽器打開方式:chrome.exe --allow-file-access-from-files,其他瀏覽器也一樣。在exe后面添加?--allow-file-access-from-files
例如用 360瀏覽器: 360se.exe --allow-file-access-from-files
如果上述瀏覽器都不支持,就用 internet 吧,反正是測試工具什么瀏覽器都沒關系了。
3、cookie 問題:request 包,有自定義的的 cookie 頭,但是 cookie 死活傳不到服務端,可能這也是基于瀏覽器的安全考慮;其實這對于 libcurl 是很簡單的,無奈下,只能把 cookie 信息放在地址欄:
http://192.168.1.163:15007/bsw/manage/audio/type_add?token=abcdef123456789&userid=10015459
源碼下載:http://download.csdn.NET/download/wenfh2020/9861925
下載源碼后,打開這個文件即可: \jQuery-easyui-1.5.2\demo\window\modalwindow.html
問題:想通過瀏覽器寫本地的日志,暫時還沒找到方法,知道的朋友可以告訴我一下,謝謝!
更精彩內容,請關注我的博客:https://wenfh2020.com