【问题标题】:Godaddy Hosting HTTP GET Request Lengh IssueGodaddy 托管 HTTP GET 请求长度问题
【发布时间】:2016-09-26 23:22:46
【问题描述】:

我在接收 PHP 文件中的完整请求时遇到了困难。我写了一个这样的示例。

  1. 编写了一个包含以下内容的 test.php 文件,

    <?php
    $data = $_GET['data'] ;
    echo($data);
    ?>
    
  2. 现在我已经使用以下 URL 的浏览器进行了检查,

    http://myserver.com/test.php?data=DDDDDDDDDDDDDDDDDDDD
    
  3. 我已经通过增加 D 字母的数量来测试这一点,以查看最多可以传递多少数据。

  4. 我发现只有 478 个字符被接收并显示在 echo 语句中。当我在参数中添加更多字母“D”时,它不会显示。

  5. 我收集到最多可以接收 512 个字符。如果总长度大于它不会传递 get 参数。 (将导致空数据)。我换了浏览器,效果还是一样的。

  6. 但是同样的事情在我的本地主机(WAMP 服务器)和 Firefox、Chrome 等上运行得很好,并且可以发送/接收更大的请求数据。我知道这不是浏览器问题,但服务器有限制。 (我的 GET 请求平均长度约为 1000 个字符,在 godaddy 服务器中不起作用)。

  7. 我正在使用 GoDaddy 共享托管服务器。我想如果我可以增加 GoDaddy 服务器允许的请求长度,这可以解决。但不知道这是否也可能。

请帮助我找到解决方案。

【问题讨论】:

  • 会话变量?
  • SO 中第一个问题的显着努力。欢迎!

标签: php http url get


【解决方案1】:
// in the sending page:
session_start();
$_SESSION["data1"] = $data1;
$_SESSION["data2"] = $data2;


// in the recieving page:
Session_start();
$data1 = $_SESSION["data1"];
$data2 = $_SESSION["data2"];

据我所知,会话变量的大小没有限制。
唯一的缺点是用户无法添加书签或与其他人分享结果

【讨论】:

  • 亲爱的 Anreas 感谢您的努力,我需要的不是从 PHP 页面传递到页面。这些是从客户端传递的请求变量。例如,我有一个 ajax GET 请求,它有很长的加密参数数据(单个 get 变量)。
猜你喜欢
  • 2011-06-12
  • 2011-02-09
  • 2012-07-10
  • 2018-10-21
  • 2018-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多