0

我有一个方法,它需要一个很长的字符串,90,860 个字符并将其传递给 PHP 页面,然后将其插入数据库。我读过 PHP 帖子的大小没有限制,最多不超过 8mb。我假设这个字符串长度应该没问题。

    msg = URLEncoder.encode(stringToEncode.toString(),"UTF-8"); 

        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("http://mysite.com/insert.php?data="+msg);
        HttpResponse response1 = httpclient.execute(httpPost);

我知道这行得通,因为我可以插入短的纯字符串。

在我的 PHP 页面上,我只得到如下的帖子数据:

    $data = $_GET['data'];

并插入它。我是否需要添加一些额外的 php 来解码帖子消息?我读到它应该由 PHP 自动完成。

问题是,对于长字符串,我要么得到 500 错误,要么将字符串放入浏览器中,我只是得到一个不可用的页面。

提前致谢!

4

2 回答 2

3

在Java程序中你不应该传递你的数据,尤其是当它很长的时候,在URL中,看这个问题的例子代码如何正确传递Post参数

从 PHP 方面,你应该使用$data = $_POST['data'];

于 2013-02-12T16:44:25.273 回答
1

限制因素将是服务器愿意接受的 URL 的最大允许长度。我不记得是否所有服务器都必须支持最低限度,但我们前段时间进行的测试表明,根据服务器类型,URL 长度限制通常在 2k 到 10k 个字符之间——这似乎得到了Paul Dixon 的广泛回答这个问题

要规避此限制,请使用多部分帖子

于 2013-02-12T16:30:21.310 回答