php地址請求(php獲取地址)

本文目錄一覽:

php如何獲取請求接口資源的請求者的IP地址

/**

    * 獲取客戶端IP地址

    * @param integer $type

    * @return mixed

    */

   function getclientip() {

       static $realip = NULL;

        

       if($realip !== NULL){

           return $realip;

       }

       if(isset($_SERVER)){

           if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])){ //但如果客戶端是使用代理服務器來訪問,那取到的就是代理服務器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理服務器取得客戶端的真實 IP 地址,就要使用 $_SERVER[“HTTP_X_FORWARDED_FOR”] 來讀取。

               $arr = explode(‘,’, $_SERVER[‘HTTP_X_FORWARDED_FOR’]);

               /* 取X-Forwarded-For中第一個非unknown的有效IP字符串 */

               foreach ($arr AS $ip){

                   $ip = trim($ip);

                   if ($ip != ‘unknown’){

                       $realip = $ip;

                       break;

                   }

               }

           }elseif(isset($_SERVER[‘HTTP_CLIENT_IP’])){//HTTP_CLIENT_IP 是代理服務器發送的HTTP頭。如果是”超級匿名代理”,則返回none值。同樣,REMOTE_ADDR也會被替換為這個代理服務器的IP。

               $realip = $_SERVER[‘HTTP_CLIENT_IP’];

           }else{

               if (isset($_SERVER[‘REMOTE_ADDR’])){ //正在瀏覽當前頁面用戶的 IP 地址

                   $realip = $_SERVER[‘REMOTE_ADDR’];

               }else{

                   $realip = ‘0.0.0.0’;

               }

           }

       }else{

           //getenv環境變量的值

           if (getenv(‘HTTP_X_FORWARDED_FOR’)){//但如果客戶端是使用代理服務器來訪問,那取到的就是代理服務器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理服務器取得客戶端的真實 IP 地址

               $realip = getenv(‘HTTP_X_FORWARDED_FOR’);

           }elseif (getenv(‘HTTP_CLIENT_IP’)){ //獲取客戶端IP

               $realip = getenv(‘HTTP_CLIENT_IP’);

           }else{

               $realip = getenv(‘REMOTE_ADDR’);  //正在瀏覽當前頁面用戶的 IP 地址

           }

       }

       preg_match(“/[\d\.]{7,15}/”, $realip, $onlineip);

       $realip = !empty($onlineip[0]) ? $onlineip[0] : ‘0.0.0.0’;

       return $realip;

   }

如何用php向服務器發送post請求

用PHP向服務器發送HTTP的POST請求,代碼如下:

?php

/**    

 * 發送post請求    

 * @param string $url 請求地址    

 * @param array $post_data post鍵值對數據    

 * @return string    

 */    

function send_post($url, $post_data) {    

      $postdata = http_build_query($post_data);    

      $options = array(    

            ‘http’ = array(    

                ‘method’ = ‘POST’,    

                ‘header’ = ‘Content-type:application/x-www-form-urlencoded’,    

                ‘content’ = $postdata,    

                ‘timeout’ = 15 * 60 // 超時時間(單位:s)    

            )    

        );    

        $context = stream_context_create($options);    

        $result = file_get_contents($url, false, $context);             

        return $result;    

}

使用的時候直接調用上面定義的send_post方法:

$post_data = array(

    ‘username’ = ‘username’,

    ‘password’ = ‘password’

);

send_post(‘網址’, $post_data);

thinkphp5地址路由請求響應錯誤

點擊4個不同的路由地址,可以查看當前的路由情況。

路由到read操作

路由到archive操作

項目配置文件中的路由定義如下:

//啟用路由功能

‘URL_ROUTER_ON’=true,

//路由定義

‘URL_ROUTE_RULES’= array(

‘blog/:year\d/:month\d’=’Blog/archive’, //規則路由

‘blog/:id\d’=’Blog/read’, //規則路由

‘blog/:cate’=’Blog/category’, //規則路由

‘/(\d+)/’ = ‘Blog/view?id=:1’,//正則路由

),

在模板文件中,我們使用了U函數動態生成路由地址:

路由1:blog/curd

路由2:blog/5

路由3:blog/2012/09

路由4:100

php請求url並接收返回值

方法1: 用file_get_contents 以get方式獲取內容

[php] view plaincopyprint?

?php  

$url=”;  

$html = file_get_contents($url);  

echo $html;  

?  

方法2: 用fopen打開url, 以get方式獲取內容

[php] view plaincopyprint?

?php  

$fp = fopen($url, ‘r’);  

//返回請求流信息(數組:請求狀態,阻塞,返回值是否為空,返回值http頭等)  

[php] view plaincopyprint?

stream_get_meta_data($fp);  

[php] view plaincopyprint?

while(!feof($fp)) {  

$result .= fgets($fp, 1024);  

}  

echo “url body: $result”;  

fclose($fp);  

?

php怎麼響應客戶端發送http請求

使用$_POST[‘參數名’]處理post方法提交的參數,$_GET[‘參數名’]處理get方法參數.

eg:

如果url 為: index.html?name=123pwd=123

?php

$name = $_GET[‘name’];

$pwd = $_GET[‘pwd’];

do something;

?

如果url 為: index.html

name=123pwd=123

?php

$name = $_POST[‘name’];

$pwd = $_POST[‘pwd’];

do something;

?

如果只是處理如何要跳轉到其他頁面,可以用header(“Location: 文件名”);

如果是網頁和php混合,在需要使用?php php語句;?處理就行;使用echo可以輸出一些值到網頁中.

原創文章,作者:WKVCB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130589.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WKVCB的頭像WKVCB
上一篇 2024-10-03 23:29
下一篇 2024-10-03 23:29

相關推薦

  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS服務器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 尚硅谷官網地址用法介紹

    尚硅谷是國內一家領先的技術培訓機構,提供了眾多IT職業的培訓,包括Java、Python、大數據、前端、人工智能等方向。其官網地址為http://www.atguigu.com/。…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • electron-egg打包後請求地址錯誤解決方法用法介紹

    本文將從多個方面對electron-egg打包後請求地址錯誤進行詳細闡述,並給出解決方法。 一、electron-egg打包後請求地址錯誤的表現 在使用 electron-egg …

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • Python如何判斷IP地址合法性

    IP地址是網絡通信的基礎,因此判斷IP地址合法性是編程中常見的問題。Python作為一門強大的編程語言,提供了多種方法來判斷IP地址的合法性。 一、判斷IP地址格式是否正確 IP地…

    編程 2025-04-27

發表回復

登錄後才能評論