Request.BinaryRead with Java HttpURLConnection.getHeaderFieldKey

时间:2016-07-14 14:48:49

标签: java vbscript asp-classic

我有一个ASP应用程序,可以通过Request.BinaryRead(Request.TotalBytes)上传PDF文件。我发出的请求是通过java应用程序完成的。问题是我在Java中有方法迭代对象HttpURLConnection的Header Field Keys。迭代完成后,我在ASP代码中输入错误"在使用request.form"后不能调用binaryread。 这是我的java代码:

 public String getCookieValue(HttpURLConnection con, String cookieKey) {
    String cookieValue = null;
    String headerName = null;
    for (int i = 1; (headerName = con.getHeaderFieldKey(i)) != null; i++) {
        if (headerName.equals("Set-Cookie")) {
            String cookie = con.getHeaderField(i);
            cookie = cookie.substring(0, cookie.indexOf(";"));
            String cookieName = cookie.substring(0, cookie.indexOf("="));
            if (cookieName.equals(cookieKey)) {
                cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());
            }
        }
    }
    return cookieValue;
}

破坏我的ASP应用程序的java代码的确切行是con.getHeaderFieldKey(i)。当我上传没有此Java应用程序的文件时,文件会正确上载。

我可以做些什么来绕过这个问题?

谢谢

1 个答案:

答案 0 :(得分:0)

实际上这里的问题是我们正在使用Session对象的包装器。当我们尝试检索有关会话ID的信息时,我们正在使用Request.From方法,这会干预生成错误的Request.BinaryRead方法。

相关问题