gpt4 book ai didi

android - httpsURLConnection.getInputStream() 挂起

转载 作者:搜寻专家 更新时间:2023-11-01 09:17:43 25 4
gpt4 key购买 nike

我尝试为 android 构建一个 https 客户端,我需要获取一些 Servlet 请求但是当我使用 getInputStream 方法时,应用程序挂起。

没有错误,只是在调用方法时挂起。

    String url = "https://.../Servlet";

try {
mPushLiteConnection = (HttpsURLConnection) new URL(url).openConnection();
mPushLiteConnection.setDoOutput(true);
mPushLiteConnection.setDoInput(true);
mPushLiteConnection.setRequestMethod("POST");
mPushLiteConnection.connect();

subscribe();

InputStream in = (InputStream)mPushLiteConnection.getInputStream();

unsubscribe();

mPushLiteConnection.disconnect();

} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

这只是为了检查调用,但没有用。知道为什么它挂起并且什么都不告诉我吗?

订阅方法有效,当我用输入流注释掉该行时,服务器显示一切正确。我可以在 Firefox 上尝试同样的操作,它可以正常工作,我可以看到请求。

我还将 keystore 放入 TrustManager。

对不起我的英语我希望我能解释清楚。

谢谢

最佳答案

我想我知道原因了!方法 getInputStream() 需要(为什么)contentLength!在我要连接的 servlet 中没有 contentLength,因为它是一个推送分块 servlet...它发送没有长度的 XML 的所有时间 fragment 。

所以.. HttpsURLConnection 对分块没有用!

现在我尝试与 httpClient 进行相同的连接我希望它对它有用......如果没有:我跳到公共(public)汽车后面;)

关于android - httpsURLConnection.getInputStream() 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com