當前位置:首頁 » 密碼管理 » curl訪問

curl訪問

發布時間: 2022-07-12 16:32:18

㈠ curl獲取網頁被拒絕求助

如果開啟了IPv6,curl默認會優先解析 IPv6,在對應域名沒有 IPv6 的情況下,會等待 IPv6 dns解析失敗 timeout 之後才按以前的正常流程去找 IPv4
原因:
在程序中我對curl獲取內容都作了較為嚴格的超時限制,所以就會造成無法獲取內容的問題。

解決方法:設置默認訪問為ipv4。
php的curl設置方法如下:
復制代碼 代碼如下:
<?php
/**
* IPV6下curl超時問題
*/
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
//設置curl默認訪問為IPv4
if(defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')){
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
//設置curl請求連接時的最長秒數,如果設置為0,則無限
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//設置curl總執行動作的最長秒數,如果設置為0,則無限
curl_setopt ($ch, CURLOPT_TIMEOUT,$timeout*3);
$file_contents = curl_exec($ch);
curl_close($ch);

註:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本時,以上設置才生效。

㈡ 如何用curl 來訪問MESOS Scheler HTTP API

MESOS 提供了Scheler HTTP RESTful API. 不論是軟體開發人員還是軟體測試人員都可以通過這些API 進一步了解mesos的工作機制。本文講述了如何用curl來訪問這些API。
環境配置
1.mesos master,master的command options 設置如下:
MESOS_MASTER_OPTS="--work_dir=/var/lib/mesos --log_dir=/var/log/mesos"

2 mesos slaves,每個slave的配置是一樣的,2 CPU,996M memory。slave的command options設置如下
MESOS_SLAVE_OPTS="--master=$MESOS_MASTER_IP:5050 --log_dir=/var/log/mesos"

注冊Framework
1.注冊framework是framework與mesos master通信的第一步。Framework注冊成功之後,才會建立起和mesos master之間的聯系。運行以下命令來注冊一個framework。
# curl –vv --no-buffer –X POST -H "Content-Type:
application/json" [email protected]

curl 後面的-d 指的是傳送給API的data. 這個data是個json串。在命令行中寫長的json串是個比較痛苦的事情,最好將json串寫進一個文件。本例中該文件的名字為register.json. json文件怎麼定義可以查看mesos.proto, scheler.proto.
Response body like this:
* upload completely sent off: 257 out of 257 bytes
< HTTP/1.1 200 OK
< Date: Fri, 15 Apr 2016 05:56:03 GMT
< Mesos-Stream-Id:
b3a3e239-f0ad-43d3-b635-1c1d9c66566b
< Content-Type: application/json
< X-Cache: MISS from db03b04
< X-Cache-Lookup: MISS from db03b04:3128
< Transfer-Encoding: chunked
< Via: 1.1 db03b04 (squid/3.3.8)
< Connection: keep-alive < 70
{"subscribed":{"framework_id":{"value":"test13"}},
"type":"SUBSCRIBED"}20
{"offers":{"offers":[{"agent_id":
{"value":"b5e0c23f-237e-4398-816f-ad1a4aa7d3f3-S1"},
"framework_id":{"value":"test13"},
"hostname":"slave1","id":
{"value":"b5e0c23f-237e-4398-816f-ad1a4aa7d3f3-O4"},
"resources":[{"name":"cpus","role":"*","scalar":

linux裡面wget和curl命令區別是什麼

《Linux就該這么學》認為:wget命令用來從指定的URL下載文件。wget非常穩定,它在帶寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。wget支持HTTP,HTTPS和ftp協議,可以使用HTTP代理。所謂的自動下載是指,wget可以在用戶退出系統的之後在後台執行。這意味這你可以登錄系統,啟動一個wget下載任務,然後退出系統,wget將在後台執行直到任務完成

curl命令是一個利用URL規則在shell終端命令行下工作的文件傳輸工具;它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分文件、用戶代理字元串、限速、文件大小、進度條等特徵;做網頁處理流程和數據檢索自動化。

㈣ 如何在curl方式下url請求域名使用指定ip地址來訪問某個伺服器

如果某個域名對應多個ip,即有多台伺服器。如何通過curl來訪問指定一天伺服器的url信息了。我們知道一般使用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伺服器的內容了,可以將請求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;
?>

㈤ php curl怎麼訪問本地文件

cURL介紹
cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。

㈥ curl的用法

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。本文介紹了它的簡單用法。

*******************************************************************************************************************************************************

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。

它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理伺服器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理伺服器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理伺服器, 通過http代理伺服器上傳文件到FTP伺服器等等,功能十分強大。

Windows操作系統下的網路螞蟻,網際快車(FlashGet)的功能它都可以做到。准確的說,curl支持文件的上傳和下載,所以是一個綜合傳輸工具,但是按照傳統,用戶習慣稱curl為下載工具。

curl是瑞典curl組織開發的,您可以訪問: http://curl.haxx.se/
獲取它的源代碼和相關說明。

鑒於curl在Linux上的廣泛使用,IBM在AIX Linux Toolbox的光碟中包含了這個軟體,並且您可以訪問IBM網站:

http://www- 1.ibm.com/servers/aix/procts/aixos/linux/altlic.html 下載它。

curl的最新版本是 7.10.8,IBM網站上提供的版本為7.9.3。

在AIX下的安裝很簡單,IBM網站上下載的rpm格式的包。

在 http://curl.haxx.se/docs/,您可以下載到UNIX格式的man幫助,裡面有詳細的curl工具的使用說明。
curl的用法為:curl [options] [URL...]
其中options是下載需要的參數,大約有80多個,curl的各個功能完全是依靠這些參數完成的。
具體參數的使用,用戶可以參考curl的man幫助。
下面,本文就將結合具體的例子來說明怎樣利用curl進行下載。

1、獲得一張頁面

使用命令:curl http://curl.haxx.se
這是最簡單的使用方法。用這個命令獲得了http://curl.haxx.se指向的頁面,同樣,如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地。如果下載的是HTML文檔,那麼預設的將不顯示文件頭部,即HTML文檔的header。要全部顯示,請加參數 -i,要只顯示頭部,用參數 -I。任何時候,可以使用 -v 命令看curl是怎樣工作的,它向伺服器發送的所有命令都會顯示出來。為了斷點續傳,可以使用-r參數來指定傳輸范圍。

2、表單(Form)的獲取

在WEB頁面設計中,form是很重要的元素。Form通常用來收集並向網站提交信息。提交信息的方法有兩種,GET方法和POST方法。先討論GET方法,例如在頁面中有這樣一段:
<form method="GET" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
那麼瀏覽器上會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單就用GET方法向伺服器提交文本框的數據。
例如原始頁面是在 www.hotmail.com/when/birth.html看到的,然後您在文本框中輸入1905,然後按OK按鈕,那麼瀏覽器的URL現在應該是:「www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK」
對於這種網頁,curl可以直接處理,例如想獲取上面的網頁,只要輸入:

curl "www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK"

就可以了。

表單用來提交信息的第二種方法叫做POST方法,POST方法和GET方法的區別在於GET方法使用的時候,瀏覽器中會產生目標URL,而POST不會。類似GET,這里有一個網頁:
<form method="POST" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
瀏覽器上也會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單用POST方法向伺服器提交數據。

這時的URL是看不到的,因此需要使用特殊的方法來抓取這個頁面:

curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi
這個命令就可以做到。
1995年年末,RFC 1867定義了一種新的POST方法,用來上傳文件。主要用於把本地文件上傳到伺服器。此時頁面是這樣寫的:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>

對於這種頁面,curl的用法不同:
curl -F upload=@localfilename -F press=OK URL

這個命令的實質是將本地的文件用POST上傳到伺服器。
有關POST還有不少用法,用戶可以自己摸索。

3、使用PUT方法。

HTTP協議文件上傳的標准方法是使用PUT,此時curl命令使用-T參數:
curl -T uploadfile www.uploadhttp.com/receive.cgi

4、有關認證。

curl可以處理各種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中通常是出現一個輸入用戶名和密碼的輸入框):
curl -u name:password www.secrets.com
如果網路是通過http代理伺服器出去的,而代理伺服器需要用戶名和密碼,那麼輸入:
curl -U proxyuser:proxypassword http://curl.haxx.se
任何需要輸入用戶名和密碼的時候,只在參數中指定用戶名而空著密碼,curl可以互動式的讓用戶輸入密碼。

5、引用。

有些網路資源訪問的時候必須經過另外一個網路地址跳轉過去,這用術語來說是:referer,引用。
對於這種地址的資源,curl也可以下載:
curl -e http://curl.haxx.se daniel.haxx.se

6、指定用戶客戶端。

有些網路資源首先需要判斷用戶使用的是什麼瀏覽器,符合標准了才能夠下載或者瀏覽。
此時curl可以把自己「偽裝」成任何其他瀏覽器:
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" URL

這個指令表示curl偽裝成了IE5.0,用戶平台是Windows 2000。(對方伺服器是根據這個字串來判斷客戶端的類型的,所以即使使用AIX也無所謂)。
使用:
curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" URL

此時curl變成了Netscape,運行在PIII平台的Linux上了。

7、COOKIES

Cookie是伺服器經常使用的一種記憶客戶信息的方法。如果cookie被記錄在了文件中,那麼使用命令:
curl -b stored_cookies_in_file www.cookiesite.com
curl可以根據舊的cookie寫出新cookie並發送到網站:
curl -b cookies.txt -c newcookies.txt www.cookiesite.com

8、加密的HTTP——HTTPS。

如果是通過OpenSSL加密的https協議傳輸的網頁,curl可以直接訪問:
curl https://that.secure.server.com

9、http認證。

如果是採用證書認證的http地址,證書在本地,那麼curl這樣使用:
curl -E mycert.pem https://that.secure.server.com

參考讀物和注意事項:

curl非常博大,用戶要想使用好這個工具,除了詳細學習參數之外,還需要深刻理解http的各種協議與URL的各個語法。
這里推薦幾個讀物:

RFC 2616 HTTP協議語法的定義。
RFC 2396 URL語法的定義。
RFC 2109 Cookie是怎樣工作的。
RFC 1867 HTTP如何POST,以及POST的格式。

文字

curl是免費軟體,IBM公司對curl不提供技術支持。

curl官方網站:
http://curl.haxx.se

㈦ 如何用curl訪問自身的web

假設表一表二數據A:D列,那麼在表一的E列添加輔助列,在E2單元格輸入以下公式,然後向下填充公式 =IF(COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2,Sheet2!D:D,D2)>0,"存在","不存在")

熱點內容
sqldist 發布:2025-05-14 18:08:18 瀏覽:161
人行外管局編譯 發布:2025-05-14 18:07:33 瀏覽:648
安卓手機如何使用大流量 發布:2025-05-14 17:47:34 瀏覽:81
精密模具編程 發布:2025-05-14 17:45:16 瀏覽:499
存儲順序和邏輯順序有什麼區別 發布:2025-05-14 17:44:30 瀏覽:275
安卓版設置里的隱身在哪裡 發布:2025-05-14 17:35:16 瀏覽:333
linuxshell密碼 發布:2025-05-14 17:21:11 瀏覽:200
安卓手機聽筒在哪裡關閉 發布:2025-05-14 17:16:20 瀏覽:456
我的世界炸毀50萬伺服器 發布:2025-05-14 17:16:07 瀏覽:123
存儲站源 發布:2025-05-14 17:14:20 瀏覽:864