php中curl設置ip的方法?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供漢中網(wǎng)站建設、漢中做網(wǎng)站、漢中網(wǎng)站設計、漢中網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、漢中企業(yè)網(wǎng)站模板建站服務,十余年漢中做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
php curl設置ip的方法:首先通過getip方法獲取訪問者ip;然后使用“getreferer”方法獲取訪問者來源;最后實現(xiàn)設置頁面限制ip和來源訪問即可。
php 使用curl模擬ip和來源進行訪問
對于限制了ip和來源的網(wǎng)站,使用正常的訪問方式是無法訪問的。本文將介紹一種方法,使用php的curl類實現(xiàn)模擬ip和來源,訪問那些限制了ip和來源的網(wǎng)站。
1.設置頁面限制ip和來源訪問
server.php
<?php $client_ip = getip(); $referer = getreferer(); $allow_ip = '192.168.1.100'; $allow_referer = 'http://www.csdn.net'; if($client_ip==$allow_ip && strpos($referer, $allow_referer)===0){ echo 'allow access'; }else{ echo 'deny access'; } // 獲取訪問者ip function getip(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $cip = $_SERVER['HTTP_CLIENT_IP']; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $cip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif(!empty($_SERVER['REMOTE_ADDR'])){ $cip = $_SERVER['REMOTE_ADDR']; }else{ $cip = ''; } return $cip; } // 獲取訪問者來源 function getreferer(){ if(isset($_SERVER['HTTP_REFERER'])){ return $_SERVER['HTTP_REFERER']; } return ''; } ?>
2.使用curl正常訪問
<?php function doCurl($url, $data=array(), $header=array(), $timeout=30){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $response = curl_exec($ch); if($error=curl_error($ch)){ die($error); } curl_close($ch); return $response; } // 調(diào)用 $url = 'http://www.example.com/server.php'; $response = doCurl($url); echo $response; ?>
返回 deny access
3.使用curl模擬ip和來源進行訪問
模擬來源
curl_setopt($ch, CURLOPT_REFERER, '來源');
模擬ip
curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: 模擬ip','X-FORWARDED-FOR: 模擬ip'));
完整代碼如下:
<?php function doCurl($url, $data=array(), $header=array(), $referer='', $timeout=30){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // 模擬來源 curl_setopt($ch, CURLOPT_REFERER, $referer); $response = curl_exec($ch); if($error=curl_error($ch)){ die($error); } curl_close($ch); return $response; } // 調(diào)用 $url = 'http://www.example.com/server.php'; $data = array(); // 設置IP $header = array( 'CLIENT-IP: 192.168.1.100', 'X-FORWARDED-FOR: 192.168.1.100' ); // 設置來源 $referer = 'http://www.csdn.net/'; $response = doCurl($url, $data, $header, $referer, 5); echo $response; ?>
返回 allow access
感謝各位的閱讀!看完上述內(nèi)容,你們對php中curl設置ip的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:php中curl設置ip的方法
網(wǎng)頁鏈接:http://muchs.cn/article32/jpgdsc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站設計公司、營銷型網(wǎng)站建設、網(wǎng)站內(nèi)鏈、標簽優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)