新聞中心
在Linux操作系統(tǒng)上,使用GET命令可以打開網(wǎng)頁。這是一個非常簡單的過程,只需要通過終端輸入命令即可。

創(chuàng)新互聯(lián)建站主要企業(yè)基礎(chǔ)官網(wǎng)建設,電商平臺建設,移動手機平臺,微信小程序開發(fā)等一系列專為中小企業(yè)按需求定制設計產(chǎn)品體系;應對中小企業(yè)在互聯(lián)網(wǎng)運營的各種問題,為中小企業(yè)在互聯(lián)網(wǎng)的運營中保駕護航。
1. 打開終端
需要在Linux上打開終端。如果您的桌面環(huán)境上有終端快捷方式,可以使用該快捷方式打開終端。如果沒有,請使用以下快捷鍵打開終端:
Ctrl + Alt + T
2. 使用GET命令打開網(wǎng)頁
在終端中,可以使用以下命令打開網(wǎng)頁:
GET [url]
其中,[url]是要打開的網(wǎng)頁的URL地址。
例如,如果要打開Google首頁,可以使用以下命令:
GET https://www.google.com
或者,如果要打開百度首頁,可以使用以下命令:
GET https://www.bdu.com
3. 查看網(wǎng)頁內(nèi)容
在輸入GET命令后,Linux會向網(wǎng)頁發(fā)送請求,并返回網(wǎng)頁內(nèi)容。在終端中,您將看到一堆文本,這是網(wǎng)頁的源代碼。在這里,您可以使用文本編輯器(如nano或vim)查看網(wǎng)頁源代碼。
如果您只想查看網(wǎng)頁的主要內(nèi)容,可以將輸出傳遞給less命令,如下所示:
GET https://www.bdu.com | less
這將打開一個分頁器,使您可以逐頁查看網(wǎng)頁。
4. 保存網(wǎng)頁內(nèi)容
如果您想將網(wǎng)頁內(nèi)容保存到文件中,可以使用以下命令:
GET [url] > [filename]
其中,[filename]是要保存的文件的名稱。
例如,如果要將百度首頁保存到文件bdu.html中,可以使用以下命令:
GET https://www.bdu.com > bdu.html
請注意,此命令將覆蓋現(xiàn)有文件。如果您希望將內(nèi)容追加到文件中而不是覆蓋文件,請改用雙尖括號(>>)。
使用GET命令在Linux上打開網(wǎng)頁非常簡單。只需打開終端,輸入GET命令,然后等待輸出即可。如果您想查看網(wǎng)頁內(nèi)容或?qū)⑵浔4娴轿募?,可以使用輸入和輸出重定向命令以及文本編輯器?/p>
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設、網(wǎng)站制作、網(wǎng)頁設計及定制高端網(wǎng)站建設服務!
Linux 下Python 腳本編寫的"奇技淫巧"
「 生命完美的答案,無非走過沒有遺憾 —《天藍》」
「如何能夠解析腳本運行命令行選項(位于 sys.argv 中)」
argparse 模塊可被用來解析命令行選項
常用來定義一個腳本的說明文檔,一般我們寫python腳本會通過 if..else 的方式來提供一個腳本說明文檔,python不支持switch。所以很麻煩,其實,我們可以通過 argparse 來編寫說明文檔。
我們來看看怎么執(zhí)行一個python腳本
對于熟悉Linux的小伙伴下面的文檔在熟悉不過了,這個一個標準Linxu軟件包的說明文檔,文檔中定義是軟件包的說明
來看看這個腳本是如何編寫的
為了解析命令行選項, 首先要創(chuàng)建一個 ArgumentParser 實例, 使用 add_argument() 方法聲明你想要支持的選項。在每個 add-argument() 調(diào)用中:
dest 參數(shù)指定解析結(jié)果被指派給屬性的名字。 metavar 參數(shù)被用來生成幫助信息。
action 參數(shù) 指定跟屬性對應的處理邏輯,通常的 值為 store , 被用來歷唯存儲 某個值 或?qū)?多個參數(shù)值收集到一個列表中 。
nargs 參數(shù)收集 所有剩余的命令行參數(shù)到一個列表中。在本例中它被用來構(gòu)造一個文件名列表
action=’store_true’ 根據(jù)參數(shù)是否存在來設置一個位置 Boolean 標志:
action=’store’ 參數(shù)接受一個單獨值并將其存儲為一個字符串
如果一個都沒有,會提示缺少參數(shù) -p/–pat
choices={‘slow’, ‘fast’}, 參數(shù)說明接受一個值,但是會將其和可能的選擇值做比較,以檢測其合法性:
一旦參數(shù)選項被指定,你就可以執(zhí)行 parser.parse() 方法了。它會處理 sys.argv 的值并返回一個結(jié)果實例。每個參數(shù)值會被設置成該實例中 add_argument() 方法的 dest 參數(shù)指定的屬性值。
還很多種其他方法解析命令行選項。可以會手動地處理 sys.argv 或者使用 getopt 模塊 。但是,如果你采用本節(jié)的方式,將會減少很多冗余代碼,底層細節(jié) argparse 模塊 已經(jīng)幫你處理好了。你可能還會碰到伍旁使用 optparse 庫解析選項的代碼。盡管 optparse 和 argparse 很像 ,但是后者更先進,因此在新的程序中你應該使用它。
「你寫了個腳本,運行時需要一個密碼。此腳本是交互式的,因此不能將密碼在腳本中硬編碼,而是需要彈出一個密碼輸入提示,讓用戶自己輸入。」
Python 的 getpass 模塊 正是你所需要的。你可以讓你很輕松地彈出密碼輸入提示,并且不會腔爛橡在用戶終端顯示密碼。
代碼中 getpass.getuser() 不會彈出用戶名的輸入提示。它會根據(jù)該 用戶的 shell 環(huán)境 或者會依據(jù) 本地系統(tǒng)的密碼庫 (支持 pwd 模塊的平臺)來使用 當前用戶的登錄名
在bash中編寫pytohn腳本接收外部數(shù)據(jù)的方式,一般情況下,對于一般變量,我們用命令行變量的方式比較多(手動的處理 sys.argv ),對于 文件內(nèi)容或者bash命令輸出 直接通過腳本內(nèi)部獲取需要的數(shù)據(jù)。
其實python 腳本也可以用其他方式來接收 傳遞給他的 文件數(shù)據(jù)或者bash命令輸出 ,包括將 命令行的輸出 通過 管道傳遞 給該腳本、 重定向文件到該腳本 ,或在 命令行中傳遞一個文件名 或 文件名列表 給該腳本。
這里通過 Python 內(nèi)置的 fileinput 模塊 ,可以實現(xiàn)重 定向,管道,以文佳輸出 的方式傳遞數(shù)據(jù)到腳本內(nèi)部
使用 fileinput.input() 方法可以獲取當前輸入腳本的數(shù)據(jù),腳本里面用一個 FileInput 迭代器接收
文件直接接收
重定向接收
管道方式接收
fileinput.input() 創(chuàng)建并返回一個 FileInput 類的實例,該實例可以被當做一個 上下文管理器 使用。因此,整合起來,如果我們要寫一個打印多個文件輸出的腳本,那么我們需要在輸出中包含文件名和行號
「你想執(zhí)行一個外部命令并以 Python 字符串的形式獲取執(zhí)行結(jié)果?!?
使用 subprocess.check_output() 函數(shù)。
執(zhí)行下試試
如果被執(zhí)行的命令以非零碼返回,就會拋出異常。下面的例子捕獲到錯誤并獲取返回碼:
默認情況下, check_output() 僅僅返回輸入到標準輸出的值。如果你需要 同時收集標準輸出和錯誤輸出 ,使用 stderr 參數(shù):
如果你需要用一個超時機制來執(zhí)行命令,使用 timeout 參數(shù):
通常來講,命令的執(zhí)行 不需要 使用到 底層 shell 環(huán)境(比如 sh、bash) 。一個字符串列表會被傳遞給一個 低級系統(tǒng)命令 ,比如 os.execve() 。
如果你想讓 命令被一個shell 執(zhí)行 ,傳遞一個字符串參數(shù),并設置參數(shù) shell=True . 有時候你想要 Python 去執(zhí)行一個復雜的 shell 命令 的時候這個就很有用了,比如管道流、I/O 重定向和其他特性。例如:
是在 shell 中執(zhí)行命令會存在一定的安全風險,特別是當參數(shù)來自于用戶輸入時。這時候可以使用 shlex.quote() 函數(shù) 來將參數(shù)正確的用雙引用引起來。
使用 check_output() 函數(shù) 是執(zhí)行 外部命令 并獲取其 返回值 的最簡單方式。但是,如果你需要對 子進程做更復雜的交互 ,比如給它發(fā)送輸入,你得采用另外一種方法。這時候可直接使用 subprocess.Popen 類。
關(guān)于子進程,簡單來看下
也可以進程列表同協(xié)程結(jié)合的方式。你既可以在子shell中 進行繁重的處理工作,同時也不會讓子shell的I/O受制于終端。
如果直接丟到后臺會自動在終端輸出IO
subprocess 模塊對于依賴 TTY 的外部命令不合適用 。例如,你不能使用它來自動化一個用戶輸入密碼的任務(比如一個 ssh 會話)。這時候,你需要使用到第三方模塊了,比如基于著名的 expect 家族的工具(pexpect 或類似的)(pexpect可以理解為Linux下的expect的Python封裝、通過pexpect可以實現(xiàn)對ssh、ftp、passwd、telnet等命令行進行自動交互,而無需人工干涉來達到自動化的目的。比如我們可以模擬一個FTP登錄時所有交互,包括輸入主機地址、用戶名、密碼、上傳文件等,待出現(xiàn)異常還可以進行嘗試自動處理。)
「你想向標準錯誤打印一條消息并返回某個非零狀態(tài)碼來終止程序運行」
通過 python 的 raise SystemExit(3) 命令可以主動拋出一個錯誤,通過 sys.stderr.write 將命令寫到標準的輸出端
直接將消息作為參數(shù)傳給 SystemExit() ,那么你可以省略其他步驟
拋出一個 SystemExit 異常,使用錯誤消息作為參數(shù),它會將消息在 sys.stderr 中打印,然后程序以狀態(tài)碼 1 退出
「你需要知道當前終端的大小以便正確的格式化輸出?!?
使用 os.get terminal size() 函數(shù) 來做到這一點。
「復制或移動文件和目錄,但是又不想調(diào)用 shell 命令。」
shutil 模塊 有很多便捷的函數(shù)可以復制文件和目錄。使用起來非常簡單
這里不多講,熟悉Linux的小伙伴應該不陌生。
默認情況下,對于 符號鏈接 這些命令處理的是它指向的東西文件。例如,如果 源文件 是一個 符號鏈接 ,那么目標文件將會是 符號鏈接 指向的文件。如果你只想 復制符號鏈接本身 ,那么需要指定 關(guān)鍵字 參數(shù) follow_symlinks
copytree() 可以讓你在復制過程中選擇性的忽略某些文件或目錄。你可以提供一個忽略函數(shù),接受一個目錄名和文件名列表作為輸入,返回一個忽略的名稱列表。例如:
對于文件元數(shù)據(jù)信息, copy2() 這樣的函數(shù)只能盡自己更大能力來保留它。 訪問時間、創(chuàng)建時間和權(quán)限 這些基本信息會被保留,但是 對于所有者、ACLs、資源 fork 和其他更深層次的文件元信息就說不準了
通常不會去使用 shutil.copytree() 函數(shù) 來執(zhí)行 系統(tǒng)備份 。當處理文件名的時候,更好使用 os.path 中的函數(shù)來確保更大的可移植性
使用 copytree() 復制文件夾的一個棘手的問題是對于錯誤的處理,可以使用異常塊處理,或者通過 參數(shù) ignore dangling symlinks=True 忽略掉無效符號鏈接。
「創(chuàng)建或解壓常見格式的歸檔文件(比如.tar, .tgz 或.zip)」
shutil 模塊擁有兩個函數(shù)—— make archive() 和 unpack archive() 可派上用場,
make archive() 的第二個參數(shù)是期望的輸出格式??梢允褂?get archive formats() 獲取所有支持的歸檔格式列表。
「你需要寫一個涉及到文件查找操作的腳本,比如對日志歸檔文件的重命名工具,你不想在 Python 腳本中調(diào)用 shell,或者你要實現(xiàn)一些 shell 不能做的功能?!?
查找文件,可使用 os.walk() 函數(shù) ,傳一個頂級目錄名給它
os.walk() 方法 為我們 遍歷目錄樹 ,每次進入一個目錄,它會返回一個 三元組 ,包含 相對于查找目錄的相對路徑,一個該目錄下的目錄名列表,以及那個目錄下面的文件名列表。
對于每個元組,只需檢測一下目標文件名是否在文件列表中。如果是就使用 os.path.join() 合并路徑。為了避免奇怪的路徑名比如 ././foo//bar ,使用了另外兩個函數(shù)來修正結(jié)果
os.walk(start) 還有跨平臺的優(yōu)勢。并且,還能很輕松的加入其他的功能。我們再演示一個例子,下面的函數(shù)打印所有最近被修改過的文件:
打印10分鐘之前被修改的數(shù)據(jù)
「怎樣讀取普通.ini 格式的配置文件?」
configparser 模塊 能被用來讀取配置文件
編寫配置文件
如果有需要,你還能修改配置并使用 cfg.write() 方法將其寫回到文件中
「你希望在腳本和程序中將診斷信息寫入日志文件。」
python 腳本打印日志最簡單方式是使用 logging 模塊
五個日志調(diào)用( critical(), error(), warning(), info(), debug() )以降序方式表示不同的嚴重級別。 basicConfig() 的 level 參數(shù)是一個 過濾器 。所有級別低于此級別的日志消息都會被忽略掉。每個 logging 操作的參數(shù)是一個消息字符串,后面再跟一個或多個參數(shù)。構(gòu)造最終的日志消息的時候我們使用了 % 操作符來格式化消息字符串。
如果你想使用配置文件,可以像下面這樣修改 basicConfig() 調(diào)用:
logconfig.ini
在調(diào)用日志操作前先執(zhí)行下 basicConfig() 函數(shù)方法 ,可以找標準輸出或者文件中輸出
basicConfig() 在程序中只能被執(zhí)行一次。如果你稍后想改變?nèi)罩九渲茫托枰全@取 root logger ,然后直接修改它。
更多見日志模塊文檔
「你想給某個函數(shù)庫增加日志功能,但是又不能影響到那些不使用日志功能的程序?!?
對于想要執(zhí)行日志操作的函數(shù)庫,你應該創(chuàng)建一個專屬的 logger 對象,并且像下面這樣初始化配置:
使用這個配置,默認情況下不會打印日志,只有配置過日志系統(tǒng),那么日志消息打印就開始生效
通常來講,不應該在函數(shù)庫代碼中 自己配置日志系統(tǒng) ,或者是已經(jīng)有個已經(jīng)存在的日志配置了。調(diào)用 getLogger( name ) 創(chuàng)建一個和調(diào)用模塊同名的 logger 模塊 。由于 模塊 都是唯一的,因此創(chuàng)建的 logger 也將是唯一 的。所以當前進程中只有一個logging會生效。
log.addHandler(logging.NullHandler()) 操作將一個 空處理器 綁定到剛剛已經(jīng)創(chuàng)建好的 logger 對象 上。一個空處理器默認會忽略調(diào)用所有的日志消息。因此,如果使用該函數(shù)庫的時候還沒有配置日志,那么將不會有消息或警告出現(xiàn)。
在這里,根日志被配置成僅僅 輸出 ERROR 或更高級別的消息 。不過, somelib 的日志級別被單獨配置成可以輸出 debug 級別的消息, 它的優(yōu)先級比全局配置高。像這樣更改單獨模塊的日志配置對于調(diào)試來講是很方便的,因為你無需去更改任何的全局日志配置——只需要修改你想要更多輸出的模塊的日志等級。(這個還有待研究)
「你想記錄程序執(zhí)行多個任務所花費的時間」
time 模塊 包含很多函數(shù)來執(zhí)行跟時間有關(guān)的函數(shù)。盡管如此,通常我們會在此基礎(chǔ)之上構(gòu)造一個更高級的接口來模擬一個計時器。
這個類定義了一個可以被用戶根據(jù)需要啟動、停止和重置的計時器。它會在elapsed 屬性中記錄整個消耗時間。下面是一個例子來演示怎樣使用它:
這里通過 __enter__,__exit__ ,使用 with 語句 以及上下文管理器協(xié)議可以省略計時器打開和關(guān)閉操作。(關(guān)于上下文管理協(xié)議,即with語句,為了讓一個對象兼容with語句,必須在這個對象的類中聲明 __enter__和__exit__方法, , __enter__ 在出現(xiàn)with語句被調(diào)用, __exit__ 在代碼執(zhí)行完畢被調(diào)用,可以參考open()方法)
在計時中要考慮一個 底層的時間函數(shù)問題 。 一般來說, 使用 time.time() 或 time.clock() 計算的時間精度因操作系統(tǒng)的不同會有所不同。而使用 time.perf_counter() 函數(shù)可以確保使用系統(tǒng)上面 最精確的計時器 。
「你想對在 Unix 系統(tǒng)上面運行的程序設置內(nèi)存或 CPU 的使用限制?!?
resource 模塊 能同時執(zhí)行這兩個任務。例如,要限制 CPU 時間,下面的代碼在windows平臺執(zhí)行不了,但是Linux是可以的。
程序運行時, SIGXCPU 信號 在時間過期時被生成,然后執(zhí)行清理并退出。
這暫時沒有好的Demo…
程序運行到?jīng)]有多余內(nèi)存時會拋出 MemoryError 異常。
setrlimit() 函數(shù) 被用來設置特定資源上面的 軟限制和硬限制 。
setrlimit() 函數(shù) 還能被用來設置 子進程數(shù)量、打開文件數(shù)以及類似系統(tǒng)資源的限制(cgroup) 。
「通過腳本啟動瀏覽器并打開指定的 URL 網(wǎng)頁」
webbrowser 模塊 能被用來啟動一個瀏覽器,并且與平臺無關(guān)
新窗口打卡網(wǎng)站
當前窗口打開一個tab頁
指定瀏覽器類型,可以使用 webbrowser.get() 函數(shù)
Linux服務器可以被訪問,但是訪問不了別的網(wǎng)址,ping其他的域名和IP也都不通
couldn’t resolve host name in /www/ip.php on line 22 是不是dns不頃圓能雀逗塌解析啊,指明你服務器dns配置對了嗎
ping IP不通則與DNS無關(guān),請檢查你的防火墻設置。
會不會是、selinux或者防火墻的問題?
云主機里面可以訪問的話。就沒什么問題的 。沒叫白名單么?
應該是dns的問題
linux 打開網(wǎng)頁get的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 打開網(wǎng)頁get,如何在Linux上使用GET命令打開網(wǎng)頁?,Linux 下Python 腳本編寫的"奇技淫巧",Linux服務器可以被訪問,但是訪問不了別的網(wǎng)址,ping其他的域名和IP也都不通的信息別忘了在本站進行查找喔。
香港云服務器機房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務,提供一站式解決方案。香港服務器-免備案低延遲-雙向CN2+BGP極速互訪!
網(wǎng)頁題目:如何在Linux上使用GET命令打開網(wǎng)頁?(linux打開網(wǎng)頁get)
文章源于:http://m.5511xx.com/article/dhhgjhd.html


咨詢
建站咨詢
