即使我的代码处理身份验证:
URL u = new URL(useMJPGStream ? mjpgURL : jpgURL);
huc = (HttpURLConnection) u.openConnection();
String base64authorization =
securityMan.getAlias(this.securityAlias).getBase64authorization();
// if authorization is required set up the connection with the encoded
// authorization-information
if(base64authorization != null)
{
huc.setDoInput(true);
huc.setRequestProperty("Authorization",base64authorization);
huc.connect();
}
InputStream is = huc.getInputStream();
connected = true;
BufferedInputStream bis = new BufferedInputStream(is);
dis= new DataInputStream(bis);
答案 0 :(得分:0)
<强> 固定 强>
我添加了以下几行:
huc.setDoOuput(true);
huc.setUseCaches(false);
之后
huc.setDoInput(true);
线。
答案 1 :(得分:0)
在浏览器base64authorization
中运行时,不是null,是吗?
我不确定getBase64authorization
应该返回什么,但我很确定当你调用huc.setRequestProperty("Authorization", **autorization value**)
时它正在寻找HTTP基本身份验证值。含义**authorization value**
必须采用here所述格式Basic **base 64 encoding of username:password**
。
也许您只需要将Basic
(注意尾随空格)字符串添加到您的媒体资源中。