Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java和PHP之间传递长字符串?_Java_Php_Http - Fatal编程技术网

在Java和PHP之间传递长字符串?

在Java和PHP之间传递长字符串?,java,php,http,Java,Php,Http,我有一个方法,它需要一个非常长的字符串,90860个字符,并将其传递到一个PHP页面,然后将该页面插入到数据库中。我已经读到,PHP帖子的大小没有限制,最高可达8mb。我假设这个长度的字符串应该可以 msg = URLEncoder.encode(stringToEncode.toString(),"UTF-8"); DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost htt

我有一个方法,它需要一个非常长的字符串,90860个字符,并将其传递到一个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页面上,我只得到如下post数据:

    $data = $_GET['data'];
然后插入它。我需要添加一些额外的php来对post消息进行反编码吗?我读到它应该由PHP自动完成

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


提前谢谢

限制因素是服务器愿意接受的URL的最大允许长度。我不记得是否所有服务器都必须支持一些最小值,但我们之前做的测试表明,根据服务器类型,URL长度限制通常在2k到10k个字符之间——这似乎得到了验证


要绕过此限制,请使用

限制因素将是服务器愿意接受的URL的最大允许长度。我不记得是否所有服务器都必须支持一些最小值,但我们之前做的测试表明,根据服务器类型,URL长度限制通常在2k到10k个字符之间——这似乎得到了验证


要绕过此限制,请在Java程序中使用

您不应在URL中传递数据,尤其是当数据很长时,请参见示例代码如何正确传递
Post
参数


在PHP端,您应该使用
$data=$\u POST['data']

在Java程序中,您不应该在URL中传递数据,尤其是当数据很长时,请参见示例代码如何正确传递
Post
参数


在PHP端,您应该使用
$data=$\u POST['data']

您正在使用POST请求在URL中发送数据?是的,我正在使用POST。嗯。。。我的建议是您在请求正文中发送数据,而不是URL。@EricBanderhide不,您不是。您使用的是“httpPost”,但如果您以GET-way方式发送数据,请查看httpPost文档中有关如何设置数据变量的信息。您是在使用POST请求在URL中发送数据吗?是的,我使用的是POST。嗯。。。我的建议是您在请求正文中发送数据,而不是URL。@EricBanderhide不,您不是。您使用的是“httpPost”,但如果您以GET-way方式发送数据,请查看httpPost文档,了解如何设置数据变量。