欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php下使用curl模擬用戶登陸的代碼

 更新時間:2010年09月10日 21:35:22   作者:  
php使用curl模擬用戶登陸,學習curl的朋友可以參考下。
bool curl_setopt (int ch, string option, mixed value)

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

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

*CURLOPT_INFILESIZE: 當你上傳一個文件到遠程站點,這個選項告訴PHP你上傳文件的大小。
*CURLOPT_VERBOSE: 如果你想CURL報告每一件意外的事情,設置這個選項為一個非零值。
*CURLOPT_HEADER: 如果你想把一個頭包含在輸出中,設置這個選項為一個非零值。
*CURLOPT_NOPROGRESS: 如果你不會PHP為CURL傳輸顯示一個進程條,設置這個選項為一個非零值。

注意:PHP自動設置這個選項為非零值,你應該僅僅為了調(diào)試的目的來改變這個選項。

*CURLOPT_NOBODY: 如果你不想在輸出中包含body部分,設置這個選項為一個非零值。
*CURLOPT_FAILONERROR: 如果你想讓PHP在發(fā)生錯誤(HTTP代碼返回大于等于300)時,不顯示,設置這個選項為一人非零值。默認行為是返回一個正常頁,忽略代碼。
*CURLOPT_UPLOAD: 如果你想讓PHP為上傳做準備,設置這個選項為一個非零值。
*CURLOPT_POST: 如果你想PHP去做一個正規(guī)的HTTP POST,設置這個選項為一個非零值。這個POST是普通的 application/x-www-from-urlencoded 類型,多數(shù)被HTML表單使用。
*CURLOPT_FTPLISTONLY: 設置這個選項為非零值,PHP將列出FTP的目錄名列表。
*CURLOPT_FTPAPPEND: 設置這個選項為一個非零值,PHP將應用遠程文件代替覆蓋它。
*CURLOPT_NETRC: 設置這個選項為一個非零值,PHP將在你的 ~./netrc 文件中查找你要建立連接的遠程站點的用戶名及密碼。
*CURLOPT_FOLLOWLOCATION: 設置這個選項為一個非零值(象 “Location: “)的頭,服務器會把它當做HTTP頭的一部分發(fā)送(注意這是遞歸的,PHP將發(fā)送形如 “Location: “的頭)。
*CURLOPT_PUT: 設置這個選項為一個非零值去用HTTP上傳一個文件。要上傳這個文件必須設置CURLOPT_INFILE和CURLOPT_INFILESIZE選項.
*CURLOPT_MUTE: 設置這個選項為一個非零值,PHP對于CURL函數(shù)將完全沉默。
*CURLOPT_TIMEOUT: 設置一個長整形數(shù),作為最大延續(xù)多少秒。
*CURLOPT_LOW_SPEED_LIMIT: 設置一個長整形數(shù),控制傳送多少字節(jié)。
*CURLOPT_LOW_SPEED_TIME: 設置一個長整形數(shù),控制多少秒傳送CURLOPT_LOW_SPEED_LIMIT規(guī)定的字節(jié)數(shù)。
*CURLOPT_RESUME_FROM: 傳遞一個包含字節(jié)偏移地址的長整形參數(shù),(你想轉(zhuǎn)移到的開始表單)。
*CURLOPT_SSLVERSION: 傳遞一個包含SSL版本的長參數(shù)。默認PHP將被它自己努力的確定,在更多的安全中你必須手工設置。
*CURLOPT_TIMECONDITION: 傳遞一個長參數(shù),指定怎么處理CURLOPT_TIMEVALUE參數(shù)。你可以設置這個參數(shù)為TIMECOND_IFMODSINCE 或 TIMECOND_ISUNMODSINCE。這僅用于HTTP。
*CURLOPT_TIMEVALUE: 傳遞一個從1970-1-1開始到現(xiàn)在的秒數(shù)。這個時間將被CURLOPT_TIMEVALUE選項作為指定值使用,或被默認TIMECOND_IFMODSINCE使用。

下列選項的值將被作為字符串: 

*CURLOPT_URL: 這是你想用PHP取回的URL地址。你也可以在用curl_init()函數(shù)初始化時設置這個選項。
*CURLOPT_USERPWD: 傳遞一個形如[username]:[password]風格的字符串,作用PHP去連接。
*CURLOPT_PROXYUSERPWD: 傳遞一個形如[username]:[password] 格式的字符串去連接HTTP代理。
*CURLOPT_RANGE: 傳遞一個你想指定的范圍。它應該是”X-Y”格式,X或Y是被除外的。HTTP傳送同樣支持幾個間隔,用逗句來分隔(X-Y,N-M)。
*CURLOPT_POSTFIELDS: 傳遞一個作為HTTP “POST”操作的所有數(shù)據(jù)的字符串。
*CURLOPT_REFERER: 在HTTP請求中包含一個”referer”頭的字符串。
*CURLOPT_USERAGENT: 在HTTP請求中包含一個”user-agent”頭的字符串。
*CURLOPT_FTPPORT: 傳遞一個包含被ftp “POST”指令使用的IP地址。這個POST指令告訴遠程服務器去連接我們指定的IP地址。 這個字符串可以是一個IP地址,一個主機名,一個網(wǎng)絡界面名(在UNIX下),或是‘-'(使用系統(tǒng)默認IP地址)。
*CURLOPT_COOKIE: 傳遞一個包含HTTP cookie的頭連接。
*CURLOPT_SSLCERT: 傳遞一個包含PEM格式證書的字符串。
*CURLOPT_SSLCERTPASSWD: 傳遞一個包含使用CURLOPT_SSLCERT證書必需的密碼。
*CURLOPT_COOKIEFILE: 傳遞一個包含cookie數(shù)據(jù)的文件的名字的字符串。這個cookie文件可以是Netscape格式,或是堆存在文件中的HTTP風格的頭。
*CURLOPT_CUSTOMREQUEST: 當進行HTTP請求時,傳遞一個字符被GET或HEAD使用。為進行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.

注意: 在確認你的服務器支持命令先不要去這樣做。

下列的選項要求一個文件描述(通過使用fopen()函數(shù)獲得):
 
*CURLOPT_FILE: 這個文件將是你放置傳送的輸出文件,默認是STDOUT.
*CURLOPT_INFILE: 這個文件是你傳送過來的輸入文件。
*CURLOPT_WRITEHEADER: 這個文件寫有你輸出的頭部分。
*CURLOPT_STDERR: 這個文件寫有錯誤而不是stderr。

用來獲取需要登錄的頁面的例子,當前做法是每次或許都登錄一次,有需要的人再做改進了。

例子:
復制代碼 代碼如下:

<?php
 $cookie_jar = tempnam(‘./tmp',‘cookie');
 $ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, ‘http://www.QQView.com');
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ù)據(jù)是否自動顯示
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
//設定是否顯示頭信息
curl_setopt( $ch, CURLOPT_HEADER, false);
//設定是否輸出頁面內(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, CURLOPT_HEADER, false);
curl_setopt( $ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch2, CURLOPT_COOKIEFILE,  $cookie_jar);
 $orders = curl_exec( $ch2);
echo ‘<pre>';
echo strip_tags( $orders);
echo ‘</pre>';
curl_close( $ch2);
?>

相關文章

  • PHP Laravel門面的實現(xiàn)原理詳解

    PHP Laravel門面的實現(xiàn)原理詳解

    在Laravel中,門面為應用服務容器中綁定的類提供了一個“靜態(tài)”接口,使得我們可以不用new這些類出來,就可以直接通過靜態(tài)接口調(diào)用這些類中的方法。本文就來詳細聊聊Laravel門面的實現(xiàn)原理,希望對大家有所幫助
    2023-02-02
  • PHP操作XML的教程詳解

    PHP操作XML的教程詳解

    這篇文章主要為大家詳細介紹了PHP操作XML的方法,文中的示例代碼講解詳細,對我們學習或工作有一定的參考價值,感興趣的可以了解一下
    2022-05-05
  • 一些php項目中比較通用的php自建函數(shù)的詳解

    一些php項目中比較通用的php自建函數(shù)的詳解

    本篇文章是對一些php項目中比較通用的php自建函數(shù)進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php編寫批量生成不重復的卡號密碼代碼

    php編寫批量生成不重復的卡號密碼代碼

    本文給大家分享的是一個十分實用的代碼,項目中經(jīng)常需要用到,可以批量生成不重復的卡號密碼的2種方法,有需要的小伙伴參考下吧。
    2015-05-05
  • PHP向瀏覽器輸出內(nèi)容的4個函數(shù)總結(jié)

    PHP向瀏覽器輸出內(nèi)容的4個函數(shù)總結(jié)

    這篇文章主要介紹了PHP向瀏覽器輸出內(nèi)容的4個函數(shù)總結(jié),本文總結(jié)的就是print()、echo()、printf()、sprintf()這4個輸出函數(shù),需要的朋友可以參考下
    2014-11-11
  • PHP實現(xiàn)HTTP斷點續(xù)傳的方法

    PHP實現(xiàn)HTTP斷點續(xù)傳的方法

    這篇文章主要介紹了PHP實現(xiàn)HTTP斷點續(xù)傳的方法,實例分析了php基于http協(xié)議斷點續(xù)傳下載文件的實現(xiàn)方法,需要的朋友可以參考下
    2015-06-06
  • windows下安裝php的memcache模塊的方法

    windows下安裝php的memcache模塊的方法

    這篇文章主要介紹了windows下安裝php_memcache模塊的方法,十分詳細,也非常簡單,這里推薦給有需要的小伙伴參考下
    2015-04-04
  • php獲取當前網(wǎng)址url并替換參數(shù)或網(wǎng)址的方法

    php獲取當前網(wǎng)址url并替換參數(shù)或網(wǎng)址的方法

    今天在項目中用到的兩個函數(shù),自己寫了下,備用,需要的朋友也可以直接使用了,推薦第一個函數(shù)為獲取,后面為相關的處理參數(shù)。
    2010-06-06
  • PHP單例模式定義與使用實例詳解

    PHP單例模式定義與使用實例詳解

    這篇文章主要介紹了PHP單例模式定義與使用,結(jié)合具體數(shù)據(jù)庫操作類的形式較為詳細的分析了php單例模式的功能、定義、使用方法與相關注意事項,需要的朋友可以參考下
    2017-02-02
  • php字符串中轉(zhuǎn)義成特殊字符實例講解

    php字符串中轉(zhuǎn)義成特殊字符實例講解

    在本篇文章里小編給大家分享的是一篇關于php字符串中轉(zhuǎn)義成特殊字符實例講解內(nèi)容,對此有興趣的朋友們可以學習下。
    2021-02-02

最新評論