1. 程式人生 > >用瀏覽器訪問網站很快,但是用curl命令列訪問卻很慢

用瀏覽器訪問網站很快,但是用curl命令列訪問卻很慢

這幾天遇到一個問題 問題的症狀是這樣的

開啟一個網站,用瀏覽器開啟非常快,但是用命令列的curl或者使用python指令碼來訪問卻非常慢

用charles抓包訪問了一下發現時間全花在了dns上

接著我就試著修改/etc/hosts檔案,無效,雖然訪問最終用了hosts檔案裡面寫的ip,但是時間依然浪費在了dns查詢上面

清理dns快取  無效

但是,我通過修改http請求的Host欄位,並直接訪問伺服器的ip,確實是非常快,所以問題還是在dns上

然後我看到的/etc/resolv.conf 檔案裡面第一個項是127.0.0.1  第二個才是路由器的ip,這個檔案是設定dns伺服器的 那麼一個域名查詢請求發出以後首先交給了127.0.0.1來處理了

接著我使用dig命令指定域名伺服器127.0.0.1來查詢域名的ip,結果大跌眼鏡,在等待了20多秒以後dns查詢請求超時,並沒有返回任何東西,初步斷定是本機執行的dns服務軟體不服務了,既然找到問題了,那就好解決了,把路由器上的dns伺服器設定為首選dns不就好了,天真的我又一次被打擊了!修改後並沒有任何效果

就在我一籌莫展的時候,我想到使用osx自帶的網路設定工具看一看,不看不要緊,一看我擦淚,原來我直接修改檔案內的內容並不影響系統設定裡面的dns設定,頑固的127.0.0.1依然是首選伺服器,在我刪掉127.0.0.1這個首選伺服器以後,我的路由器上的dns就晉升為了首選dns,這時候訪問速度快了

終於解決了這個問題,但是也引出一些問題

1.為啥dns沒有快取下來,每次都查詢每次都等待那麼長時間

2.為啥修改hosts檔案以後最終訪問的時候是使用了hosts檔案裡面的ip,但是dns查詢還是消耗了5秒的時間

3.為啥修改了/etc/resolve.conf以後,並不生效,只有修改系統網路設定裡面的配置才奇效

最近公司的網路出現問題了,各種卡,加大了除錯的難度,目前總結出的東西雖然可以解燃眉之急,但是不給上面的問題找個合理的解釋,總覺的不太舒服

如果哪位大俠知道,請不吝賜教

最後猜測一下為什麼用瀏覽器開啟會很快呢,我覺的是瀏覽器自己有自己的dns快取,因為我的瀏覽器好像是使用了遠端dns解析(梯子)

相關推薦

瀏覽器訪問網站很快但是curl命令訪問

這幾天遇到一個問題 問題的症狀是這樣的 開啟一個網站,用瀏覽器開啟非常快,但是用命令列的curl或者使用python指令碼來訪問卻非常慢 用charles抓包訪問了一下發現時間全花在了dns上 接著我就試著修改/etc/hosts檔案,無效,雖然訪問最終用了hosts檔案裡

MSSQL 使用MSSM查詢很快網頁查詢問題

最近遇到一個問題,兩個頁面查詢非常慢,需要30~40秒,而相同的程式碼通過Microsoft SQL Server Management Studio或者VS的SQL查詢工具查詢卻能秒出資料,感到非常奇怪。 如果修改儲存過程,短時段內恢復正常,過一段時間又重新出現問題,大概

tortoise svn無法連線到svn伺服器瀏覽器可以連線到svn伺服器之解決方法

tortoise svn無法連線到伺服器,清空“Autherticate data”後,再進行更新,提交,log檢視等操作,svn還是不提示輸入使用者名稱和密碼,而是報: error: Unable to connect to a repository at URL Err

了springmvc為何JSCSS等文件就是訪問不到

開頭 pre view 請求 映射 span pan -s clas 那就是為什麽我配置好web.xml中的dispatchservlet後,js,css,甚至gif都不能正常顯示了 我們來看看我們配置的web.xml 1 <!-- springMVC核心

為啥我百度定位wifi可以定位準確數據流量就給我定位到非洲西海岸

gps ati 流量 cat ces idm 結果 class 數據 查了半天,說需要動態獲取權限的也有,不過我wifi時定位是正常的 結果。。。emm漏了權限啦 <!-- 這個權限用於進行網絡定位--> <uses-permission android

搭建FTP服務實現三種方式的訪問:1.匿名訪問;2本地訪問;3虛擬訪問

行程 工作環境 能夠 ftp用戶 a10 linu 進入 編輯 binary FTP服務(File Transfer Protocol,文件傳輸協議)是典型的C/S結構 的應用層協議,需要由服務端軟件,客戶端軟件兩部分共同實 現文件

什麼情況下有索引不上?

索引並不是時時都會生效的,比如以下幾種情況,將導致索引失效:如果條件中有or,即使其中有部分條件帶索引也不會使用(這也是為什麼儘量少用or的原因),例子中user_id無索引注意:要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引2.對於多列索引,不是使用的第一

15分鐘教你Python爬網站資料並用BI視覺化分析!

作為一名在資料行業打拼了兩年多的資料分析師,雖然目前收入還算ok,但每每想起房價,男兒三十還未立,內心就不免彷徨不已~ 兩年時間裡曾經換過一份工作,一直都是從事大資料相關的行業。目前是一家企業的BI工程師,主要工作就是給業務部門出報表和業務分析報告。 回想自己過去的工作成績也還算是不錯的,多

使用jsoup/HTTPConnection 訪問頁面失敗 瀏覽器中可以開啟頁面

          我在做一個爬蟲專案的時候遇到過這種情況,本身可以正確訪問的某個網頁,用HPPTConnention後臺訪問確報錯。         錯誤很明確,404,                     發現問題:          經過研究我發現,其實用瀏覽器訪問

在數據庫中sql查詢很快在程序中查詢較的解決方法

type acl value and 字段類型 number bte check rec 在寫java的時候,有一個方法查詢速度比其他方法慢很多,但在數據庫查詢很快,原來是因為程序中使用參數化查詢時參數類型錯誤的原因 1 select * 2

假設網絡的生產管理系統采B/S工作方式經常上網的戶數為100個每個戶每分鐘平均產生11個事務平均事務量大小為0.06MB則這個系統需要的傳輸速率為(34)。

上半年 16px 產生 字節 需要 方式 解析 傳輸 nbsp 2014年上半年 網絡工程師 上午試卷 綜合知識 假設網絡的生產管理系統采用B/S工作方式,經常上網的用戶數為100個,每個用戶每分鐘平均產生11個事務,平均事務量大小為0.06MB,則這個系統需要的傳輸

STM32-自學筆記(7.GPIO點亮LED程式到的庫函式介紹)

1.RCC_DeInit 函式原型:void RCC_DeInit (void) 功能:將外設RCC暫存器重設為預設值。 引數:無 例子:RCC_DeInit ();      //將外設RCC暫存器重設為預設值   2.RCC_HSE

女同事半夜要我Python讀取Excel資料一行程式碼搞定!

分享一個實用問題,用python讀取Excel並儲存字典,如何做?關注薇信工宗號:程式設計師大牛,”即可獲取數十套Python學習資料! 下面是該同學問題截圖和程式碼 程式碼截圖是下面這樣的。學習資料也可以加下Python扣扣裙:304零五零799自己下載學習下

程式實現對資料排序並按出現次數進行排序 程式實現對資料排序並按出現次數進行排序(注:面向物件的方式實現for迴圈進行排序comparable介面實現){14213214}作為

程式實現對資料排序並按出現次數進行排序 程式實現對資料排序並按出現次數進行排序(注:用面向物件的方式實現,用for迴圈進行排序,別用comparable介面實現){1,4,2,1,3,2,1,4}作為引數(引數可變)傳入java方法中,控制檯輸出以下結果 1出現了3次 2出現了2次

將帶圖片的Java工程eclipse打包成jar然後exe4j將jar打包成exe並附帶jre庫

一、自帶圖片的處理   A,除錯路徑,如果是"/bg.png",則放在工程根目錄下,如果是"bg.png"則放在類的src路徑裡,和.java檔案在一起。下圖是放在根目錄下: 原始碼部分:

IIS 釋出網站出現未能寫出錯/拒絕訪問

引用 執行asp.net程式時候,編譯器錯誤訊息: CS0016: 未能寫入輸出檔案“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\asaa\6afc8e18\e1c3edea\A

ffmpeg來進行編碼解碼live555來進行傳輸rtsp、rtp

本文概要:                 本文介紹了一種常用成熟的多媒體解碼方案。使用live555作為流媒體資料來源,建立rtsp會話請求h264資料流。後端使用ffmpeg解碼h264流並儲存為yuv420格式。                 該方案比較成熟,可

釋出網站之後區域網內其他機器無法訪問的解決辦法

         昨日釋出一個網站之後,在伺服器本機上是可以訪問這個網站,但是這個網站通過這個區域網的其他機器就無法訪問,經驗證這個伺服器所在的區域網的網路連線是正常的,出現這個問題的原因是這個網站所用的埠是8081,由於這不是網站的預設80埠,所以其他電腦訪問這個埠時,伺

eclipse中tomcat啟動成功http://localhost:8080無法訪問解決方案

也許在不經意間,你會遇到這樣一個很奇葩的問題。當然這也是像我這種新手所能糾結的問題了。 安裝了Tomact,也很認真的配置了環境變數,很忐忑的輸入了http://localhost:8080,很開心的發現奇蹟出現了,網頁顯示了你想要的介面。 接下了也許要做的就是將To

訪問網站隱藏你的.php副檔名檔案

隱藏你的.php檔案 今天做PHP線上手冊映象的時候看到了這個方法,哈哈,以前都沒有注意到,所以說,手冊是最好的老師 ------------------------------------------------------------------------------------- 如果