【问题标题】:PHP cURL get requesting hostPHP cURL 获取请求主机
【发布时间】:2015-04-11 10:33:33
【问题描述】:

我有两个基于 PHP 的站点 http://domain1.tldhttp://domain2.tld。从 domain1.tld 我向 domain2.tld 发起一个 cURL (get) 请求。

如何获取请求主机(“domain1.tld”)? 我尝试了var_dump($_SERVER)var_dump(apache_request_headers()),但这些都没有给我请求的主机。

还有一个重要信息:domain2.tld 正在 CGI 模式下运行。

提前非常感谢!

【问题讨论】:

  • 如上所示,我尝试了$_SERVER 变量和apache_request_headers() 函数。

标签: php apache curl get cgi


【解决方案1】:

http://domain2.tld 上使用$_SERVER 超级全局

您可以尝试$_SERVER["REMOTE_HOST"] 作为主机名,

如果这不起作用,$_SERVER["REMOTE_ADDR"] 将为您提供相应的 IP 地址

【讨论】:

  • 不幸的是,这没有按预期工作 - 我在共享服务器上运行我的域,所以通过 gethostbyaddr($_SERVER["REMOTE_ADDR"]) 查找名称只是给了我服务器的域名(可以理解) -不是我自己的。这有可能吗?
  • 如果您在共享服务器上运行,您不能保证服务提供商会识别您的域名,因此我认为最好的解决方案是接受来自共享服务器的请求和希望您的共享服务器上没有其他人会发出 curl 请求 :-)
  • 当然 - 如果无法获得请求的域,我会比较 IP 地址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 2017-03-29
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 2013-11-20
  • 2022-01-24
相关资源
最近更新 更多