-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
curl自動與web服務(wù)器交互(curl調(diào)用webservice接口)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于curl自動與web服務(wù)器交互的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、curl和wget的區(qū)別和用法介紹
區(qū)別:1.curl是libcurl這個庫支持的,wget是一個純粹的命令行命令。
2.curl支持更多的協(xié)議。
3.curl 默認(rèn)支持HTTP1.1(也支持1.0),而wget僅僅支持HTTP1.0規(guī)范。
4.curl在指定要下載的鏈接時能夠支持URL的序列或集合,而wget則不能這樣;
5.wget支持遞歸下載,而curl則沒有這個功能。
Linux curl是一個利用URL規(guī)則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱url為下載工具。
用法:CURL 是使用URL語法的傳送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL證書、HTTP POST、HTTP PUT 、FTP 上傳,kerberos、基于HTT格式的上傳、代理、cookie、用戶+口令證明、文件傳送恢復(fù)、http代理通道和大量其他有用的技巧。
wget是一個從網(wǎng)絡(luò)上自動下載文件的自由工具,支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協(xié)議下載,并可以使用HTTP代理。wget名稱的由來是“World Wide Web”與“get”的結(jié)合。
二、如何在curl方式下url請求域名使用指定ip地址來訪問某個服務(wù)器
我們知道一般使用curl獲取url信息的代碼如下
<?php
$url="http://bbs.hefei.cc";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$content=curl_exec($ch);
echo $content;
?>
如果想訪問202.102.94.182這個ip服務(wù)器的內(nèi)容了,可以將請求url中域名部分改用ip方式,并加上Host請求頭信息。具體示例代碼如下:
<?php
$url='http://202.102.94.182/';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,array("Host: bbs.hefei.cc"));
$content=curl_exec($ch);
echo $content;
?>
三、PowerShell利用Curl發(fā)送請求
PowerShell能干什么呢?PowerShell首先是個Shell,定義好了一堆命令與操作系統(tǒng),特別是與文件系統(tǒng)交互,能夠啟動應(yīng)用程序,甚至操縱應(yīng)用程序;第二,PowerShell允許將幾個命令組合起來放到文件里執(zhí)行,實現(xiàn)文件級的重用,也就是說有腳本的性質(zhì);第三,PowerShell能夠能夠充分利用.Net類型和COM對象,來簡單地與各種系統(tǒng)交互,完成各種復(fù)雜的、自動化的操作。
當(dāng)我們習(xí)慣了windows的界面模式就很難轉(zhuǎn)去命令行,甚至以命令行發(fā)家的git也涌現(xiàn)出各種界面tool。然而命令行真的會比界面快的多,如果你是一個碼農(nóng)。
接到需求分析bug,需要訪問http。那臺機器屬于product,不允許裝postman。我只能手動命令行來發(fā)請求。發(fā)現(xiàn)了內(nèi)置的PowerShell中有curl命令。試了半天,總是命令不對,google發(fā)現(xiàn)這個curl是冒名頂替的,只是一個Invoke-WebRequest的alias。 參考 。
獲取幫助:
get-help invoke-webrequest 或者 get-help invoke-webrequest -online
online參數(shù)會打開官方文檔 powershell
可以看到curl也是別名,linux的wget也在其中,這樣為習(xí)慣其他平臺的用戶提供了方便,但是用法上也稍有區(qū)別
基本用法介紹:
查看返回結(jié)果
內(nèi)容篩選
返回結(jié)果
示例:
得到如下內(nèi)容
會發(fā)現(xiàn)content內(nèi)容被截斷了,想要獲取完整的content,可加參數(shù) | Select -ExpandProperty Content
此時content內(nèi)容是完整的
在 d:\content.txt 可看到輸出的內(nèi)容
其他用法:
將content內(nèi)容轉(zhuǎn)為對象 ConvertFrom-json
你可以使用 ConvertTo-Json 轉(zhuǎn)回JSON格式
請求帶有token的uri, 其實就是在header中添加authorization對象
到此,接口請求基本夠用
執(zhí)行
沒有權(quán)限,也是安全機制,可 參考官網(wǎng)
用管理員權(quán)限打開powershell,并輸入命令,然后選擇y
說明:
Restricted 執(zhí)行策略不允許任何腳本運行。
AllSigned 和 RemoteSigned 執(zhí)行策略可防止 Windows PowerShell 運行沒有數(shù)字簽名的腳本
正常執(zhí)行.
怎樣像執(zhí)行一個命令一樣執(zhí)行一個腳本,不用輸入腳本的相對路徑或者絕對路徑,甚至*.ps1擴展名。
那就將腳本的執(zhí)行語句保存為別名吧:
完美執(zhí)行.
到此powershell的使用curl發(fā)送請求的需求基本滿足.
四、
以上就是關(guān)于curl自動與web服務(wù)器交互相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
adas目標(biāo)檢測(目標(biāo)檢測accuracy)
廣州本地景觀設(shè)計用途(廣州景觀設(shè)計案例)