目錄
- 1. 概述
- 2. 實體
- 2.1. 訪問網頁
- 2.2. 顯示頭資訊
- 2.3. 保存網頁
- 2.4. 下載圖片
- 2.5. 用戶代理設定
- 2.6. 代理設定
- 3. 參考
1. 概述
curl也就是command line tool and library for transferring data with URLs的縮寫,也就是一種通過URL傳輸資料的命令列工具和庫,可以直接通過curl命令列工具進行url協議通迅的相關操作,也可以通過其libcurl庫的介面,在自己的程式中進行相同的操作,其支持的協議非常全,而且提供了C的介面,所以很多庫和軟體都使用libcurl作為url資料傳輸的底層庫,
2. 實體
libcurl庫的使用還是很繁瑣的,所有的操作都可以先用命令列工具curl驗證一下,如果是從源代碼編譯的curl,那么兩者都會編譯,推薦先找到已經編譯好的curl來使用,因為curl對于https的支持是需要ssl的,編譯器來稍微有點麻煩,這里主要論述一下curl的使用,
2.1. 訪問網頁
curl最主要的功能就是訪問網頁了,不過因為是命令列視窗,所以訪問的網頁的源代碼:
curl https://www.baidu.com

注意這里我訪問的是https,當我訪問http的時候獲取的源代碼有點問題,可能是現在很多網站對http的訪問會遷移到https造成的,
2.2. 顯示頭資訊
添加-i引數,就顯示http response的頭資訊:
curl -i https://www.baidu.com

2.3. 保存網頁
訪問的網頁可以通過-o引數保存下來:
curl https://www.baidu.com -o 1.html

2.4. 下載圖片
使用同樣的方法可以下載網路上的圖片:
curl https://cn.bing.com/th?id=OHR.GrandsCausses_EN-CN3335882379_800x480.jpg -o 1.jpg

利用這個方法可以通過curl來下載網路上的一些資源,
2.5. 用戶代理設定
用戶代理設定也就是請求頭的User-Agent,有的網站服務器會屏蔽一些不被允許的客戶端去訪問它,這個時候可以通過設定User-Agent來訪問(提示不要做非法請求,惡意爬蟲是違法的):
curl https://www.sina.com.cn --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
2.6. 代理設定
curl還可以設定通過代理來訪問特定的服務器,比如說某些公司的內部網路,代理也包含了很多繁復的種類和知識,我這里只記錄一種簡單的無需賬號密碼的http代理,簡單的通過-x或者--proxy設定地址及埠即可:
curl --proxy 127.0.0.1:1080 https://www.google.com --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
3. 參考
- curl網站開發指南
- 使用wget或curl時 error 403 forbidden
- Linux curl命令使用代理、以及代理種類介紹
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/13809.html
標籤:C
上一篇:C連載7-整形機器注意點
