App Engine createLogoutURL(url)max url length?

时间:2014-01-20 21:52:17

标签: java google-app-engine

Java中App Engine的createLogoutURL(url)函数的url参数的最大长度是多少?

我们得到了这个例外:

java.lang.IllegalArgumentException: URL too long
at com.google.appengine.api.users.UserServiceImpl.makeSyncCall(UserServiceImpl.java:126)
    at com.google.appengine.api.users.UserServiceImpl.createLogoutURL(UserServiceImpl.java:77)
    at com.google.appengine.api.users.UserServiceImpl.createLogoutURL(UserServiceImpl.java:67)

没有关于限制的文档,我们无法在REDIRECT_URL_TOO_LONG https://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/apphosting/api/ApiProxy.java#58中找到引发ApiProxy错误的代码 由UserServiceImpl调用 https://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/api/users/UserServiceImpl.java?r=173#114

1 个答案:

答案 0 :(得分:1)

我不确定实际尺寸有多大可以获得您的特定错误,但看起来Google App Engine支持的最大尺寸(并且很可能是所有Google服务)的路径部分为2044个字符(或在那个数字附近)。我发现它使用二分搜索,因为最近我看到这条消息导致我的查询太大了。

正在正常处理以下网址并返回应用的404,但如果您再添加一个字符,则会看到Google的414错误:

因此,重定向的网址不应超过2000个字符,因为无论如何都不会处理它。