在Java和PHP之间传递长字符串?
我有一个方法,它需要一个非常长的字符串,90860个字符,并将其传递到一个PHP页面,然后将该页面插入到数据库中。我已经读到,PHP帖子的大小没有限制,最高可达8mb。我假设这个长度的字符串应该可以在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
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文档,了解如何设置数据变量。