在Linux系統(tǒng)中,curl是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具,可以說(shuō)是一款很強(qiáng)大的http命令行工具。它支持文件的上傳和下載操作,是綜合傳輸工具,習(xí)慣上稱url為下載工具。下面就日常運(yùn)維中基于curl命令使用做下總結(jié)
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、北辰網(wǎng)絡(luò)推廣、小程序制作、北辰網(wǎng)絡(luò)營(yíng)銷、北辰企業(yè)策劃、北辰品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供北辰建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:jinyejixie.com
一、Curl命令用法
1. curl語(yǔ)法和參數(shù)選項(xiàng)
# curl [option] [url]
curl常見(jiàn)參數(shù)
2. curl使用說(shuō)明
curl是一種命令行工具,作用是發(fā)出網(wǎng)絡(luò)請(qǐng)求,然后得到和提取數(shù)據(jù),顯示在"標(biāo)準(zhǔn)輸出"(stdout)上面。它支持多種協(xié)議,下面說(shuō)下curl命令的日常使用示例:
3. curl上傳文件的用法(POST請(qǐng)求方式)
一般來(lái)說(shuō),我們都會(huì)用curl下載網(wǎng)頁(yè),但是curl上傳文件則不常用。下面說(shuō)下curl模擬"multipart/form-data"形式的form上傳文件, 命令稍稍復(fù)雜些。
4. curl常用示例
5. curl命令的超時(shí)時(shí)間
二、Curl的GET、POST、PUT、DELETE請(qǐng)求
1. GET、POST、PUT、DELETE含義與區(qū)別
2. GET、POST、PUT、DELETE四種請(qǐng)求方式的curl訪問(wèn)
curl 命令,是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具。
curl 支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱curl為下載工具。
作為一款強(qiáng)力工具,curl支持包括HTTP、HTTPS、FTP等眾多協(xié)議,還支持 GET、POST、cookies、認(rèn)證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進(jìn)度條等特征,還可以做網(wǎng)頁(yè)處理流程和數(shù)據(jù)檢索自動(dòng)化。
在進(jìn)行web后臺(tái)程序開發(fā)測(cè)試過(guò)程中,常常會(huì)需要發(fā)送url進(jìn)行測(cè)試,使用curl可以方便地模擬出符合需求的url命令
curl 語(yǔ)法:curl [options...] url? ? ? ? ??#?curl (選項(xiàng)) (參數(shù))
示例1:curl -m 30 --retry 3 ? ? ? ? ??// curl 爬取網(wǎng)頁(yè),獲取本機(jī)外網(wǎng)ip
示例2:curl -m 30 --retry 3 -x ? ? ? ? ??// curl 通過(guò)代理IP爬取網(wǎng)頁(yè),獲取本機(jī)外網(wǎng)ip
更多示例:? ?(Shell curl wget)
使用curl發(fā)送GET請(qǐng)求:curl protocol://ip:port/url?args
curl?;passwd=12345678??
使用curl發(fā)送POST請(qǐng)求: (推薦)
curl -d "key1=value1key2=value2key3=value3" protocol://ip:port/path
示例1:curl -d 'post_data=i_love_mimvp.com' ? ? ? ??// 測(cè)試 post ,發(fā)送什么數(shù)據(jù)就返回什么數(shù)據(jù),如 'i_love_mimvp.com'
示例2:curl?-d?"user=adminpasswd=12345678"?????// 測(cè)試 post ,模擬發(fā)送登錄的用戶名和密碼
這種方法是參數(shù)直接在header里面的,如需將輸出指定到文件可以通過(guò)重定向進(jìn)行操作.
curl -H "Content-Type:application/json" -X POST -d 'json data' URL
示例1:curl -H "Content-Type:application/json" -X POST -d '{"post_data":"i_love_mimvp.com"}' ''
示例2:curl?-H?"Content-Type:application/json"?-X?POST?-d?'{"user":?"admin",?"passwd":"12345678"}'???
curl 應(yīng)用實(shí)例
1. 文件下載
curl命令可以用來(lái)執(zhí)行下載、發(fā)送各種HTTP請(qǐng)求,指定HTTP頭部等操作。
如果系統(tǒng)沒(méi)有curl可以使用?yum?install?curl 安裝,也可以下載安裝。
curl是將下載文件輸出到stdout,將進(jìn)度信息輸出到stderr,不顯示進(jìn)度信息使用?--silent 選項(xiàng)。
curl URL --silent
這條命令是將下載文件輸出到終端,所有下載的數(shù)據(jù)都被寫入到stdout。
使用選項(xiàng)-O將下載的數(shù)據(jù)寫入到文件,必須使用文件的絕對(duì)地址:
curl --silent -O
選項(xiàng)-o將下載數(shù)據(jù)寫入到指定名稱的文件中,并使用--progress顯示進(jìn)度條:(常用)
curl
URL?編碼/解碼方法(linux??shell實(shí)現(xiàn)),方法如下:
1、編碼的兩種方法:
admin@~?11:14:29echo?'手機(jī)'?|?tr?-d?'\n'?|?xxd?-plain?|?sed?'s/\(..\)/%\1/g'?????
admin@~?11:14:29echo?'手機(jī)'?|tr?-d?'\n'?|od?-An?-tx1|tr?'?'?%
2、解碼的兩個(gè)步驟:
admin@~?11:15:11url="要解碼的URL地址"
admin@~?11:15:11?printf?$(echo?-n?$url?|?sed?'s/\\/\\\\/g;s/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"
需要工具
下載用wget
上網(wǎng)可以用link elink w3m lynx
遠(yuǎn)程有telnet
在命令符界面如何瀏覽網(wǎng)頁(yè)可以使用lynx,links, w3m等軟件
軟件的使用方式都很類似,下面以w3m為例介紹如何安裝使用:
1.安裝w3m瀏覽器:sudo apt-get install w3m
2.使用w3m瀏覽網(wǎng)頁(yè):w3m url.xxx
不需要設(shè)定路徑,Linux socket編程中通過(guò)調(diào)用網(wǎng)絡(luò)信息函數(shù)查詢URL中域名對(duì)應(yīng)的IP地址,這個(gè)函數(shù)是gethostbyname,它通過(guò)查詢/etc/hosts文件或者DNS服務(wù)來(lái)確定域名對(duì)應(yīng)的IP地址,不過(guò)它并不是返回一個(gè)IP地址,而是返回一個(gè)hostent結(jié)構(gòu),這個(gè)結(jié)構(gòu)在connect調(diào)用中會(huì)用到。URL的參數(shù)部分則是在HTTP請(qǐng)求的請(qǐng)求頭也就是“HTTP請(qǐng)求首部”中給予,所以Linux socket編程中對(duì)于URL考慮好域名獲取IP就可以了。
網(wǎng)站欄目:linux解析url命令 linux中url是什么意思
網(wǎng)頁(yè)URL:http://jinyejixie.com/article4/hpdioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、App設(shè)計(jì)、網(wǎng)站營(yíng)銷、營(yíng)銷型網(wǎng)站建設(shè)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)