php curl 開啟與例項教程

2021-09-10 15:38:05 字數 2956 閱讀 1979

curl庫可以簡單和有效地去抓網頁,您只需要執行乙個指令碼,然後分析一下您所抓取的網頁,然後就可以以程式的方式得到您想要的資料了。無論是您想從乙個鏈結上取部分資料,或是取乙個xml檔案並把其匯入資料庫,哪怕就是簡單的獲取網頁內容,curl是乙個功能強大的php庫。本文主要講述如果使用這個php庫。

啟用curl設定

首先,我們得先要確定我們的php是否開啟了這個庫,您可以通過使用php_info()函式來得到這一資訊:

<?php

phpinfo();

?>

如果您可以在網頁上看到下面的輸出,那麼表示curl庫已被開啟。

如果您看到的話,那麼您需要設定您的php並開啟這個庫。如果您是在windows平台下,那麼非常簡單,您需要改一改您的php.ini檔案的設定,找到php_curl.dll,並取消前面的分號注釋就行了,如下所示:

//取消下在的注釋

extension=php_curl.dll

如果您是在linux下面,那麼,您需要重新編譯您的php了,編輯時,您需要開啟編譯引數,在configure命令上加上「–with-curl」引數。

乙個小示例

如果一切就緒,下面是乙個小例子:

<?php

// 初始化乙個curl物件

$curl = curl_init();

// 設定您需要抓取的url

curl_setopt($curl, curlopt_url, '');

// 設定header

curl_setopt($curl, curlopt_header, 1);

// 設定curl引數,要求結果儲存到字串中還是輸出到螢幕上

curl_setopt($curl, curlopt_returntransfer, 1);

// 執行curl,請求網頁

$data = curl_exec($curl);

// 關閉url請求

curl_close($curl);

// 顯示獲得的資料

var_dump($data);

?>

如何post資料   上面是抓取網頁的**,下面則是向某個網頁post資料。假設我們有乙個處理表單的**其可以接受兩個表單域,乙個是**號碼,乙個是簡訊內容。示例**如下:

<?php

$phonenumber = '13912345678';

$message = 'this message was generated by curl and php';

$curlpost = 'pnumber=' . urlencode($phonenumber) . '&message=' . urlencode($message) . '&submit=send';

$ch = curl_init();curl_setopt($ch, curlopt_url, '/sendsms.php');

curl_setopt($ch, curlopt_header, 1);

curl_setopt($ch, curlopt_returntransfer, 1);

curl_setopt($ch, curlopt_post, 1);

curl_setopt($ch, curlopt_postfields, $curlpost);

$data = curl_exec();

curl_close($ch);

?>

從上面的程式我們可以看到,使用curlopt_post設定http協議的post方法,而不是get方法,然後以curlopt_postfields設定post的資料。

關於**伺服器

下面是乙個如何使用**伺服器的示例,**很簡單,我就不用多說了:

?>關於ssl和cookie

關於ssl也就是https協議,您只需要把curlopt_url連線中的http://變成https://就可以了。當然,還有乙個引數叫curlopt_ssl_verifyhost可以設定為驗證站點。

關於cookie,您需要了解下面三個引數:

1、curlopt_cookie:在當面的會話中設定乙個cookie

2、curlopt_cookiejar:當會話結束的時候儲存乙個cookie

3、curlopt_cookiefile:cookie的檔案。

http伺服器認證

最後,我們來看一看http伺服器認證的情況:

awk例項教程

1.awk語法規則 awk 2.顯示最近登入的5個帳號 last n 5 awk root root root dmtsai root awk工作流程是這樣的 讀入有 n 換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,0則表示所有域,1表示第乙個域,n表示第n個域。預設域分隔符是 ...

CSS reflow例項教程

frame主要的動作有三個 構造frame,以建立物件樹 dom樹 reflow,以確定物件位置,或者www.cppcns.com是呼叫mozilla的layout 這裡是指原始碼的實現 繪製,以便物件能顯示在螢幕上 總的來說,reflow就是載入內容樹 在html中就是dom樹 和建立或更新fra...

php小偷例項教程

以 http mtv.8391.com 為例,偷取mtv名稱 歌手 路徑 1 對原 進行 分析 檢視其原檔案,判斷出呼叫mtv路徑的檔案 利用 檢視程式,取得 http mtv.8391.com yxwen.asp?id 3488頁面 3488為隨機,只是了解頁面 2 對要偷取的頁面進行 分析 ht...