当前位置: 首页 > 知识库问答 >
问题:

使用HttpURLConnection头时的Android EOFException

韶镜
2023-03-14

我使用自定义授权标头对http请求进行签名:

String key="client="+USER+",hash="+sha1(STR, API_KEY)+",timestamp="+t.toString();
URL url = new URL(sb.toString());

HttpURLConnection conn = null;  
conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", key);
conn.setRequestMethod("GET");

InputStreamReader in = new InputStreamReader(conn.getInputStream());
conn.setRequestProperty("Authorization", "FOOBAR");
match(/client=([^,]*),hash=([^,]*),timestamp=([^,]*)/);

所以这个异常不同于最初的异常。当我移除头部并禁用webservice上的授权时,连接将按预期工作。所以问题似乎出在自定义授权标头上。有什么想法吗?

共有1个答案

洪光霁
2023-03-14

根据这个问题,看起来可能是某些版本的Android的问题。

尝试将conn.SetRequestProperty(“Connection”,“Close”)添加到请求中。

 类似资料:
  • 我试图使用身份验证值发送响应到服务器,它在登录时提供给我。服务器仅在发送该值时接受请求。然而,它可以很好地与邮递员(见快照),但不与我的代码。 密码 我也试过这样做

  • 我在使用HTTPUrlConnection时遇到了一些问题。代码基本上是在循环中运行的,每次都连接到不同的URL,检查响应,如果响应满足某些条件,则退出。我被StackOverflowerr搞砸了,但我不确定自己搞砸了什么。我没有使用

  • 问题内容: 我试图对Java Html Document进行一些改进,但是我遇到了与之相关的问题。一件事是,如果用户代理是Java VM,则某些服务器会阻止请求。另一个问题是不会设置或标头字段。由于多个站点使用这些字段来验证是否从其自己的站点访问了内容,因此在此也将我屏蔽了。据我所知,唯一的解决方案是替换HTTP协议的URL处理程序。还是有任何方法可以修改默认的HTTP处理程序? 问题答案: 打开

  • 我试图使用为请求添加头,但方法似乎不起作用。服务器端没有收到任何带有my标头的请求。

  • 问题内容: 我已经开始使用推荐的广告,并从移走了。我无法重新粘合在一起的一件事是使用持久性Cookie存储。我想简单地将自定义cookie处理程序/管理器附加到我的连接中以存储cookie。Android文档并不是很有帮助,因为它将Cookie主题分为两行。 我以前使用过LoopJ ,效果很好。 关于如何在Android中设置可以附加到我的自动保存和检索cookie 的持久性cookie存储的想法

  • 问题内容: 使用HttpURLConnection时,如果我们不“获取”并使用它,是否需要关闭InputStream? 即安全吗? 其次, 在完全读取所有内容之前 关闭InputStream是否安全? 是否存在使基础套接字处于ESTABLISHED或CLOSE_WAIT状态的风险? 问题答案: 在读取所有内容之前关闭InputStream是否安全? 您需要先关闭输入流中的所有数据,然后再关闭它,以