服务器不定时会向一个 url(例如 https://www.123.com/23/)推送一次 get 请求,请问怎么使用 PHP 判断当前 url 是否有 get 请求,并接收 get 请求的参数呀? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hylsay
V2EX    程序员

服务器不定时会向一个 url(例如 https://www.123.com/23/)推送一次 get 请求,请问怎么使用 PHP 判断当前 url 是否有 get 请求,并接收 get 请求的参数呀?

  •  
  •   hylsay 2019-02-11 09:43:02 +08:00 4221 次点击
    这是一个创建于 2501 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2019-02-12 08:48:42 +08:00
    lshang
        1
    lshang  
       2019-02-11 09:51:03 +08:00
    这条 URL 应该是路由到你的 PHP 脚本上的吧,接收到请求的时候,判断下 HTTP Method 是否为 GET,如果是 GET 就获取参数。

    判断是否为 GET 可以用
    ```php
    if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    }
    ```

    获取参数,可以直接取 $_GET 的值。
    qiayue
        2
    qiayue  
    PRO
       2019-02-11 10:04:39 +08:00
    php 本身就是被动接收的,有请求就会把你的代码执行一次
    除非你的 php 做成了服务,即使是服务,也会有消息时给你事件通知
    Sapp
        3
    Sapp  
       2019-02-11 10:07:50 +08:00
    没看懂你的需求,这不就是个简单的请求处理么?一般是代理转发到你的 php 上,php 进行处理吧? 这个时候你就判断一下是 get 还是 post 不就行了么?如果是框架,应该有直接的处理吧
    hylsay
        4
    hylsay  
    OP
       2019-02-11 11:06:47 +08:00
    @lshang 老师,怎么接收 get 请求的参数?
    hylsay
        5
    hylsay  
    OP
       2019-02-11 11:09:38 +08:00
    @Sapp $order_id = $_GET["order_id"]; 是通过这种方式接收参数的吗?为什么获取不到数据呢?
    yytsjq
        6
    yytsjq  
       2019-02-11 11:13:21 +08:00
    print_r($_GET) 这样?
    MonoLogueChi
        7
    MonoLogueChi  
       2019-02-11 11:13:44 +08:00 via Android
    get 请求就是和你正常打开一个网页是一样的,获取 get 请求参数,就是下载你打开的网页,只不过程序获得的是网页源码,你看到的是已经渲染过的网页
    runnerlee
        8
    runnerlee  
       2019-02-11 11:15:36 +08:00
    开了 nginx 的 access log 看一下? 看看实际过来的 method 跟 uri 是怎样的. 如果的确是 GET 并且带有 query string, 那可能就要看下 nginx 里的 pathinfo 配置了.
    hylsay
        9
    hylsay  
    OP
       2019-02-11 11:21:35 +08:00
    现在只知道服务器会向这个 url(例如: http://www.xxx.com)发送一次 get 请求,如何通过 php 接收 get 参数?求老师们给个例子。我使用$order_id = $_GET["order_id"]; 获取不到数据
    qiayue
        10
    qiayue  
    PRO
       2019-02-11 11:29:12 +08:00
    你自己开发测试时,需要自己加参数
    例如 domain.com/order?order_id=123

    然后你的程序里就能够通过 $_GET['order_id'] 来获取
    $order_id = isset($_GET['order_id'])?$_GET['order_id']:0;

    其实简单来说,就是你服务器怎么访问,你自己测试当然也要同样访问啊
    qiayue
        11
    qiayue  
    PRO
       2019-02-11 11:30:03 +08:00
    服务器向你的 url 发了一次请求,后来你自己再打开,又是一个新的请求,当然获取不到上一次服务器请求的数据啊
    zhengwenk
        12
    zhengwenk  
       2019-02-11 11:44:15 +08:00
    你的 order_id 是 23 么
    zarte
        13
    zarte  
       2019-02-11 11:55:16 +08:00
    @hylsay
    php 的 get 参数是?开头后面的用&
    baidu.com?id=1&name=333 这样
    你的那个 baidu.com/1/333 是要配置 nginx 或者 apache 实现的要不然就会去找 1 文件夹和 333 文件
    PERFECTCN
        14
    PERFECTCN  
       2019-02-11 11:58:36 +08:00
    qilishasha
        15
    qilishasha  
       2019-02-11 14:48:46 +08:00
    可以通过$_SERVER['REQUEST_URI']来对 URL 进行解析,很多人使用这个方法放自己捣鼓的框架里来做一种叫“路由”的东西。。。。。。。。。
    zxq2233
        16
    zxq2233  
       2019-02-11 15:17:27 +08:00
    php 基础
    jasperjia
        17
    jasperjia  
       2019-02-12 08:48:42 +08:00 via Android
    理解一下反向代理为什么叫反向代理而不是正向代理
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2922 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:30 PVG 08:30 LAX 16:30 JFK 19:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86