91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何模擬不同ip訪問

發布時間:2022-11-10 10:54:54 來源:億速云 閱讀:144 作者:iii 欄目:編程語言

今天小編給大家分享一下php如何模擬不同ip訪問的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

php模擬不同ip訪問的方法:1、設置頁面限制ip和來源訪問;2、使用curl正常訪問;3、使用curl模擬ip和來源進行訪問,代碼如“curl_setopt($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP: ip','X-FORWARDED-FOR: ip'));”。

php 使用curl模擬ip和來源進行訪問的實現方法

對于限制了ip和來源的網站,使用正常的訪問方式是無法訪問的。本文將介紹一種方法,使用php的curl類實現模擬ip和來源,訪問那些限制了ip和來源的網站。

1.設置頁面限制ip和來源訪問

server.php

<?php
 
$client_ip = getip();
$referer = getreferer();
 
$allow_ip = '192.168.1.100';
$allow_referer = 'https://www.jb51.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;
 
}
 
// 調用
$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;
 
}
 
// 調用
$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 = 'https://www.jb51.net/';
 
$response = doCurl($url, $data, $header, $referer, 5);
 
echo $response;
?>

返回 allow access

以上就是“php如何模擬不同ip訪問”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡泽县| 金坛市| 武乡县| 延长县| 东乡| 花莲市| 贡觉县| 侯马市| 乾安县| 朝阳市| 遵化市| 陵水| 华容县| 桂林市| 七台河市| 兴宁市| 邵东县| 泽普县| 通化县| 电白县| 卓资县| 靖西县| 佛教| 陈巴尔虎旗| 应城市| 乌兰县| 香港| 云霄县| 县级市| 海林市| 佛山市| 普定县| 铜梁县| 肥城市| 永济市| 筠连县| 邹城市| 崇礼县| 遂宁市| 永嘉县| 周至县|