国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 php手冊(cè) PHP的CURL簡單介紹

PHP的CURL簡單介紹

Jun 13, 2016 am 10:42 AM
curl php url 什么 介紹 使用 命令行 簡單 語法

什么是CURL,PHP與CURL

(PHP CURL)

一 什么是CURL

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

它支持很多協(xié)議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認(rèn)證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認(rèn)證, HTTP上傳, 代理服務(wù)器, cookies, 用戶名/密碼認(rèn)證, 下載文件斷點(diǎn)續(xù)傳,

上載文件斷點(diǎn)續(xù)傳, http代理服務(wù)器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理服務(wù)器, 通過http代理服務(wù)器上傳文件到FTP服務(wù)器等等,功能十分強(qiáng)大。

原來php默認(rèn)并不進(jìn)行此項(xiàng)功能的擴(kuò)展,但還是有的,只是沒有讓它生效罷了。打開PHP安裝目錄,搜索以下三個(gè)文件 ssleay32.dll、libeay32.dll和 php_curl.dll,

一一拷貝到系統(tǒng)目錄下的system32文件夾下,修改php.ini文件,找到;extension= php_curl.dll行,去掉前面的;號(hào),保存,重啟服務(wù)器

網(wǎng)站采集,登陸,COOKIE等

二 PHP中的CURL庫

curl_close - 關(guān)閉一個(gè)curl會(huì)話

curl_copy_handle - 拷貝一個(gè)curl連接資源的所有內(nèi)容和參數(shù)

curl_errno - 返回一個(gè)包含當(dāng)前會(huì)話錯(cuò)誤信息的數(shù)字編號(hào)

curl_error - 返回一個(gè)包含當(dāng)前會(huì)話錯(cuò)誤信息的字符串

curl_exec - 執(zhí)行一個(gè)curl會(huì)話

curl_getinfo - 獲取一個(gè)curl連接資源句柄的信息

curl_init - 初始化一個(gè)curl會(huì)話

curl_multi_add_handle - 向curl批處理會(huì)話中添加單獨(dú)的curl句柄資源

curl_multi_close - 關(guān)閉一個(gè)批處理句柄資源

curl_multi_exec - 解析一個(gè)curl批處理句柄

curl_multi_getcontent - 返回獲取的輸出的文本流

curl_multi_info_read - 獲取當(dāng)前解析的curl的相關(guān)傳輸信息

curl_multi_init - 初始化一個(gè)curl批處理句柄資源

curl_multi_remove_handle - 移除curl批處理句柄資源中的某個(gè)句柄資源

curl_multi_select - Get all the sockets associated with the cURL extension, which can then be "selected"

curl_setopt_array - 以數(shù)組的形式為一個(gè)curl設(shè)置會(huì)話參數(shù)

curl_setopt - 為一個(gè)curl設(shè)置會(huì)話參數(shù)

curl_version - 獲取curl相關(guān)的版本信息

curl_init()函數(shù)的作用初始化一個(gè)curl會(huì)話,curl_init()函數(shù)唯一的一個(gè)參數(shù)是可選的,表示一個(gè)url地址。

curl_exec()函數(shù)的作用是執(zhí)行一個(gè)curl會(huì)話,唯一的參數(shù)是curl_init()函數(shù)返回的句柄。

curl_close()函數(shù)的作用是關(guān)閉一個(gè)curl會(huì)話,唯一的參數(shù)是curl_init()函數(shù)返回的句柄。

三關(guān)于CURL_SETOPT()函數(shù)的設(shè)置

bool curl_setopt (int ch, string option, mixed value)

curl_setopt()函數(shù)將為一個(gè)CURL會(huì)話設(shè)置選項(xiàng)。option參數(shù)是你想要的設(shè)置,value是這個(gè)選項(xiàng)給定的值。

下列選項(xiàng)的值將被作為長整形使用(在option參數(shù)中指定):

* CURLOPT_INFILESIZE: 當(dāng)你上傳一個(gè)文件到遠(yuǎn)程站點(diǎn),這個(gè)選項(xiàng)告訴PHP你上傳文件的大小。

* CURLOPT_VERBOSE: 如果你想CURL報(bào)告每一件意外的事情,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。

* CURLOPT_HEADER: 如果你想把一個(gè)頭包含在輸出中,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。

* CURLOPT_NOPROGRESS: 如果你不會(huì)PHP為CURL傳輸顯示一個(gè)進(jìn)程條,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。注意:PHP自動(dòng)設(shè)置這個(gè)選項(xiàng)為非零值,你應(yīng)該僅僅為了調(diào)試的目的來改變這個(gè)選項(xiàng)。

* CURLOPT_NOBODY: 如果你不想在輸出中包含body部分,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。

* CURLOPT_FAILONERROR: 如果你想讓PHP在發(fā)生錯(cuò)誤(HTTP代碼返回大于等于300)時(shí),不顯示,設(shè)置這個(gè)選項(xiàng)為一人非零值。默認(rèn)行為是返回一個(gè)正常頁,忽略代碼。

* CURLOPT_UPLOAD: 如果你想讓PHP為上傳做準(zhǔn)備,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。

* CURLOPT_POST: 如果你想PHP去做一個(gè)正規(guī)的HTTP POST,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值。這個(gè)POST是普通的 application/x-www-from-urlencoded 類型,多數(shù)被HTML表單使用。

* CURLOPT_FTPLISTONLY: 設(shè)置這個(gè)選項(xiàng)為非零值,PHP將列出FTP的目錄名列表。

* CURLOPT_FTPAPPEND: 設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值,PHP將應(yīng)用遠(yuǎn)程文件代替覆蓋它。

* CURLOPT_NETRC: 設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值,PHP將在你的 ~./netrc 文件中查找你要建立連接的遠(yuǎn)程站點(diǎn)的用戶名及密碼。

* CURLOPT_FOLLOWLOCATION: 設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值(象 “Location: “)的頭,服務(wù)器會(huì)把它當(dāng)做HTTP頭的一部分發(fā)送(注意這是遞歸的,PHP將發(fā)送形如 “Location: “的頭)。

* CURLOPT_PUT: 設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值去用HTTP上傳一個(gè)文件。要上傳這個(gè)文件必須設(shè)置CURLOPT_INFILE和CURLOPT_INFILESIZE選項(xiàng).

* CURLOPT_MUTE: 設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值,PHP對(duì)于CURL函數(shù)將完全沉默。

* CURLOPT_TIMEOUT: 設(shè)置一個(gè)長整形數(shù),作為最大延續(xù)多少秒。

* CURLOPT_LOW_SPEED_LIMIT: 設(shè)置一個(gè)長整形數(shù),控制傳送多少字節(jié)。

* CURLOPT_LOW_SPEED_TIME: 設(shè)置一個(gè)長整形數(shù),控制多少秒傳送CURLOPT_LOW_SPEED_LIMIT規(guī)定的字節(jié)數(shù)。

* CURLOPT_RESUME_FROM: 傳遞一個(gè)包含字節(jié)偏移地址的長整形參數(shù),(你想轉(zhuǎn)移到的開始表單)。

* CURLOPT_SSLVERSION: 傳遞一個(gè)包含SSL版本的長參數(shù)。默認(rèn)PHP將被它自己努力的確定,在更多的安全中你必須手工設(shè)置。

* CURLOPT_TIMECONDITION: 傳遞一個(gè)長參數(shù),指定怎么處理CURLOPT_TIMEVALUE參數(shù)。你可以設(shè)置這個(gè)參數(shù)為TIMECOND_IFMODSINCE 或 TIMECOND_ISUNMODSINCE。這僅用于HTTP。

* CURLOPT_TIMEVALUE: 傳遞一個(gè)從1970-1-1開始到現(xiàn)在的秒數(shù)。這個(gè)時(shí)間將被CURLOPT_TIMEVALUE選項(xiàng)作為指定值使用,或被默認(rèn)TIMECOND_IFMODSINCE使用。

下列選項(xiàng)的值將被作為字符串:

* CURLOPT_URL: 這是你想用PHP取回的URL地址。你也可以在用curl_init()函數(shù)初始化時(shí)設(shè)置這個(gè)選項(xiàng)。

* CURLOPT_USERPWD: 傳遞一個(gè)形如[username]:[password]風(fēng)格的字符串,作用PHP去連接。

* CURLOPT_PROXYUSERPWD: 傳遞一個(gè)形如[username]:[password] 格式的字符串去連接HTTP代理。

* CURLOPT_RANGE: 傳遞一個(gè)你想指定的范圍。它應(yīng)該是”X-Y”格式,X或Y是被除外的。HTTP傳送同樣支持幾個(gè)間隔,用逗句來分隔(X-Y,N-M)。

* CURLOPT_POSTFIELDS: 傳遞一個(gè)作為HTTP “POST”操作的所有數(shù)據(jù)的字符串。

* CURLOPT_REFERER: 在HTTP請(qǐng)求中包含一個(gè)”referer”頭的字符串。

* CURLOPT_USERAGENT: 在HTTP請(qǐng)求中包含一個(gè)”user-agent”頭的字符串。

* CURLOPT_FTPPORT: 傳遞一個(gè)包含被ftp “POST”指令使用的IP地址。這個(gè)POST指令告訴遠(yuǎn)程服務(wù)器去連接我們指定的IP地址。這個(gè)字符串可以是一個(gè)IP地址,一個(gè)主機(jī)名,一個(gè)網(wǎng)絡(luò)界面名 (在UNIX下),或是‘-’(使用系統(tǒng)默認(rèn)IP地址)。

* CURLOPT_COOKIE: 傳遞一個(gè)包含HTTP cookie的頭連接。

* CURLOPT_SSLCERT: 傳遞一個(gè)包含PEM格式證書的字符串。

* CURLOPT_SSLCERTPASSWD: 傳遞一個(gè)包含使用CURLOPT_SSLCERT證書必需的密碼。

* CURLOPT_COOKIEFILE: 傳遞一個(gè)包含cookie數(shù)據(jù)的文件的名字的字符串。這個(gè)cookie文件可以是Netscape格式,或是堆存在文件中的HTTP風(fēng)格的頭。

* CURLOPT_CUSTOMREQUEST: 當(dāng)進(jìn)行HTTP請(qǐng)求時(shí),傳遞一個(gè)字符被GET或HEAD使用。為進(jìn)行DELETE或其它操作是有益的,更Pass a string to be used instead of GET or HEAD when doing an HTTP request. This is useful for doing or another, more obscure, HTTP request. 注意: 在確認(rèn)你的服務(wù)器支持命令先不要去這樣做。下列的選項(xiàng)要求一個(gè)文件描述(通過使用fopen()函數(shù)獲得):

* CURLOPT_FILE: 這個(gè)文件將是你放置傳送的輸出文件,默認(rèn)是STDOUT.

* CURLOPT_INFILE: 這個(gè)文件是你傳送過來的輸入文件。

* CURLOPT_WRITEHEADER: 這個(gè)文件寫有你輸出的頭部分。

* CURLOPT_STDERR: 這個(gè)文件寫有錯(cuò)誤而不是stderr。用來獲取需要登錄的頁面的例子,當(dāng)前做法是每次或許都登錄一次,有需要的人再做改進(jìn)了.

四 相關(guān)例子

1 例子
view plaincopy to clipboardprint?
?
$cookie_jar = tempnam(./tmp,cookie);??
?
$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,http://******);??
?
curl_setopt($ch, CURLOPT_POST, 1);??
?
$request = email_address=&password=&action=;??
?
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);??
//把返回來的cookie信息保存在$cookie_jar文件中??
?
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);??
?
//設(shè)定返回的數(shù)據(jù)是否自動(dòng)顯示??
?
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);??
?
//設(shè)定是否顯示頭信息??
?
curl_setopt($ch, CURLOPT_HEADER, false);??
?
//設(shè)定是否輸出頁面內(nèi)容??
?
curl_setopt($ch, CURLOPT_NOBODY, false);??
?
curl_exec($ch);??
?
curl_close($ch); //get data after login??
?
$ch2 = curl_init();??
?
curl_setopt($ch2, CURLOPT_URL, http://*****);??
?
curl_setopt($ch2

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

如何在PHP中獲取當(dāng)前的會(huì)話ID? 如何在PHP中獲取當(dāng)前的會(huì)話ID? Jul 13, 2025 am 03:02 AM

在PHP中獲取當(dāng)前會(huì)話ID的方法是使用session_id()函數(shù),但必須先調(diào)用session_start()才能成功獲取。1.調(diào)用session_start()啟動(dòng)會(huì)話;2.使用session_id()讀取會(huì)話ID,輸出類似abc123def456ghi789的字符串;3.若返回為空,檢查是否遺漏session_start()、用戶是否首次訪問或會(huì)話是否被銷毀;4.會(huì)話ID可用于日志記錄、安全驗(yàn)證和跨請(qǐng)求通信,但需注意安全性。確保正確開啟會(huì)話后即可順利獲取ID。

php從字符串獲取子字符串 php從字符串獲取子字符串 Jul 13, 2025 am 02:59 AM

要從PHP字符串中提取子字符串,可使用substr()函數(shù),其語法為substr(string$string,int$start,?int$length=null),若未指定長度則截取至末尾;處理多字節(jié)字符如中文時(shí)應(yīng)使用mb_substr()函數(shù)以避免亂碼;若需根據(jù)特定分隔符截取字符串,可使用explode()或結(jié)合strpos()與substr()實(shí)現(xiàn),例如提取文件名擴(kuò)展名或域名。

如何將字符串分為PHP中的數(shù)組 如何將字符串分為PHP中的數(shù)組 Jul 13, 2025 am 02:59 AM

在PHP中,最常用的方法是使用explode()函數(shù)將字符串拆分為數(shù)組。該函數(shù)通過指定的分隔符將字符串分割成多個(gè)部分并返回?cái)?shù)組,語法為explode(separator,string,limit),其中separator為分隔符,string為原字符串,limit為可選參數(shù)控制最大分割數(shù)量。例如$str="apple,banana,orange";$arr=explode(",",$str);結(jié)果為["apple","bana

JavaScript數(shù)據(jù)類型:原始與參考 JavaScript數(shù)據(jù)類型:原始與參考 Jul 13, 2025 am 02:43 AM

JavaScript的數(shù)據(jù)類型分為原始類型和引用類型。原始類型包括string、number、boolean、null、undefined和symbol,其值不可變且賦值時(shí)復(fù)制副本,因此互不影響;引用類型如對(duì)象、數(shù)組和函數(shù)存儲(chǔ)的是內(nèi)存地址,指向同一對(duì)象的變量會(huì)相互影響。判斷類型可用typeof和instanceof,但需注意typeofnull的歷史問題。理解這兩類差異有助于編寫更穩(wěn)定可靠的代碼。

在C中使用std :: Chrono 在C中使用std :: Chrono Jul 15, 2025 am 01:30 AM

std::chrono在C 中用于處理時(shí)間,包括獲取當(dāng)前時(shí)間、測(cè)量執(zhí)行時(shí)間、操作時(shí)間點(diǎn)與持續(xù)時(shí)間及格式化解析時(shí)間。1.獲取當(dāng)前時(shí)間使用std::chrono::system_clock::now(),可轉(zhuǎn)換為可讀字符串但系統(tǒng)時(shí)鐘可能不單調(diào);2.測(cè)量執(zhí)行時(shí)間應(yīng)使用std::chrono::steady_clock以確保單調(diào)性,并通過duration_cast轉(zhuǎn)換為毫秒、秒等單位;3.時(shí)間點(diǎn)(time_point)和持續(xù)時(shí)間(duration)可相互操作,但需注意單位兼容性和時(shí)鐘紀(jì)元(epoch)

如何將會(huì)話變量傳遞給PHP中的另一頁? 如何將會(huì)話變量傳遞給PHP中的另一頁? Jul 13, 2025 am 02:39 AM

在PHP中,要將一個(gè)會(huì)話變量傳到另一個(gè)頁面,關(guān)鍵在于正確開啟會(huì)話并使用相同的$_SESSION鍵名。1.每個(gè)頁面使用session變量前必須調(diào)用session_start(),且放在腳本最前面;2.在第一個(gè)頁面設(shè)置session變量如$_SESSION['username']='JohnDoe';3.在另一頁面同樣調(diào)用session_start()后通過相同鍵名訪問變量;4.確保每個(gè)頁面都調(diào)用session_start()、避免提前輸出內(nèi)容、檢查服務(wù)器上session存儲(chǔ)路徑可寫;5.使用ses

PHP如何處理環(huán)境變量? PHP如何處理環(huán)境變量? Jul 14, 2025 am 03:01 AM

toAccessenvironmentVariablesInphp,useGetenv()或$ _envsuperglobal.1.getEnv('var_name')retievesSpecificvariable.2。$ _ en v ['var_name'] accessesvariablesifvariables_orderInphp.iniincludes“ e” .setVariablesViaCliWithvar = vualitephpscript.php,inapach

See all articles