国产免费又爽又刺激在线观看,免费一级毛片在线播放放视频,最近日本免费观看高清视频,亚洲无码视频观看

<ruby id="cmmwe"></ruby>

  • <var id="cmmwe"></var>
    <b id="cmmwe"></b>
    <source id="cmmwe"><track id="cmmwe"><ins id="cmmwe"></ins></track></source>

      1. 0712-2888027 189-8648-0214
        微信公眾號(hào)

        孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

        當(dāng)前位置:主頁(yè) > 技術(shù)支持 > PHP > php curl模擬post請(qǐng)求提交數(shù)據(jù)例子總結(jié)

        php curl模擬post請(qǐng)求提交數(shù)據(jù)例子總結(jié)

        時(shí)間:2016-01-27來(lái)源:風(fēng)信官網(wǎng) 點(diǎn)擊: 1264次
        在php中要模擬post請(qǐng)求數(shù)據(jù)提交我們會(huì)使用到curl函數(shù),下面我來(lái)給大家舉幾個(gè)curl模擬post請(qǐng)求提交數(shù)據(jù)例子有需要的朋友可參考參考。

        注意:curl函數(shù)在php中默認(rèn)是不被支持的,如果需要使用curl函數(shù)我們需在改一改你的php.ini文件的設(shè)置,找到php_curl.dll去掉前面的";"就行了

        例1

         代碼如下 復(fù)制代碼

        <?php
        $uri = "http://tanteng.duapp.com/test.php";
        // 參數(shù)數(shù)組
        $data = array (
                'name' => 'tanteng'
        // 'password' => 'password'
        );
         
        $ch = curl_init ();
        // print_r($ch);
        curl_setopt ( $ch, CURLOPT_URL, $uri );
        curl_setopt ( $ch, CURLOPT_POST, 1 );
        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
        $return = curl_exec ( $ch );
        curl_close ( $ch );
         
        print_r($return);

        接受php頁(yè)面遠(yuǎn)程服務(wù)器:

        <?php
        if(isset($_POST['name'])){
            if(!empty($_POST['name'])){
                echo '您好,',$_POST['name'].'!';
            }
        }
        ?>

        例2

        用CURL模擬POST請(qǐng)求抓取郵編與地址

        完整代碼:

         代碼如下 復(fù)制代碼

        #!/usr/local/php/bin/php
        <?php
        $runtime = new runtime ();
        $runtime->start ();


        $cookie_jar = tempnam('/tmp','cookie');

         


        $filename = $argv[1];
        $start_num= $argv[2];
        $end_num  = $argv[3];

         


        for($i=$start_num; $i<$end_num; $i++){
            $zip = sprintf('6s',$i);


            $fields_post = array(
                    'postcode' => $zip,
                    'queryKind' => 2,
                    'reqCode' => 'gotoSearch',
                    'search_button.x'=>37,
                    'search_button.y'=>12
                    );


            $fields_string = http_build_query ( $fields_post, '&' );
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, "URL?reqCode=gotoSearch&queryKind=2&postcode=".$zip);
            curl_setopt($ch, CURLOPT_HEADER, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120 );
            curl_setopt($ch, CURLOPT_REFERER, $refer );
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login );
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar );
            curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar );
            curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
            curl_setopt($ch, CURLOPT_POST, 1); // 發(fā)送一個(gè)常規(guī)的Post請(qǐng)求
            curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string );


            $data = curl_exec($ch);
            preg_match_all('/id="table1">[s]*?<tr>[s]*?<td class="maintext">[sS]*?</td>[s]*?</tr>/', $data, $matches);
            if (!$handle = fopen($filename, 'a+')) {
                echo "不能打開文件 $filename";
                echo "n";
                exit;
            }


            if (fwrite($handle, $matches[0][1]) === FALSE) {
                echo "不能寫入到文件 $filename";
                echo "n";
                exit;
            }


            echo "成功地將 $somecontent 寫入到文件$filename";
            echo "n";


            fclose($handle);
            curl_close($ch);
        }

         


        class runtime
        {
            var $StartTime = 0;
            var $StopTime = 0;
            function get_microtime()
            {
                list($usec,$sec)=explode(' ',microtime());return((float)$usec+(float)$sec);
            }
            function start()
            {
                $this->StartTime=$this->get_microtime();
            }
            function stop(){
                $this->StopTime=$this->get_microtime();
            }
            function spent()
            {
                return ($this->StopTime-$this->StartTime);
            }
        }

         


        $runtime->stop ();


        $con = 'Processed in'.$runtime->spent().'seconds';
        echo 'Processed in'. $runtime->spent().'seconds';

        模擬POST請(qǐng)求 提交數(shù)據(jù)或上傳文件 .

        .

         代碼如下 復(fù)制代碼

        http://www.a.com/a.php

        發(fā)送POST請(qǐng)求

        function execUpload(){


        $file = '/doucment/Readme.txt';
        $ch = curl_init();
        $post_data = array(
            'loginfield' => 'username',
            'username' => 'ybb',
            'password' => '123456',
        'file' => '@d:usrwwwtranslatedocumentReadme.txt'
        );
        curl_setopt($ch, CURLOPT_HEADER, false);
        //啟用時(shí)會(huì)發(fā)送一個(gè)常規(guī)的POST請(qǐng)求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
        curl_setopt($ch, CURLOPT_POST, true); 
        curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
        curl_setopt($ch, CURLOPT_URL, 'http://www.b.com/handleUpload.php');
        $info= curl_exec($ch);
        curl_close($ch);
          
        print_r($info);

        }

        2.http://www.b.com/handleUpload.php

        function handleUpload(){
        print_r($_POST);
        echo '===file upload info:';
        print_r($_FILES);
        }

        ■cURL 函數(shù)

        ■curl_close — 關(guān)閉一個(gè)cURL會(huì)話
        ■curl_copy_handle — 復(fù)制一個(gè)cURL句柄和它的所有選項(xiàng)
        ■curl_errno — 返回最后一次的錯(cuò)誤號(hào)
        ■curl_error — 返回一個(gè)保護(hù)當(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)閉一組cURL句柄
        ■curl_multi_exec — 運(yùn)行當(dāng)前 cURL 句柄的子連接
        ■curl_multi_getcontent — 如果設(shè)置了CURLOPT_RETURNTRANSFER,則返回獲取的輸出的文本流
        ■curl_multi_info_read — 獲取當(dāng)前解析的cURL的相關(guān)傳輸信息
        ■curl_multi_init — 返回一個(gè)新cURL批處理句柄
        ■curl_multi_remove_handle — 移除curl批處理句柄資源中的某個(gè)句柄資源
        ■curl_multi_select — 等待所有cURL批處理中的活動(dòng)連接
        ■curl_setopt_array — 為cURL傳輸會(huì)話批量設(shè)置選項(xiàng)
        ■curl_setopt — 設(shè)置一個(gè)cURL傳輸選項(xiàng)
        ■curl_version — 獲取cURL版本信息

        欄目列表
        推薦內(nèi)容
        熱點(diǎn)內(nèi)容
        展開