我想從使用HTTP的IP攝像機獲取圖像。相機需要HTTP基本認證,所以我必須添加相應的請求頭:在URL對象中設置自定義HTTP請求標題不起作用
URL url = new URL("http://myipcam/snapshot.jpg");
URLConnection uc = url.openConnection();
uc.setRequestProperty("Authorization",
"Basic " + new String(Base64.encode("user:pass".getBytes())));
// outputs "null"
System.out.println(uc.getRequestProperty("Authorization"));
我後來經過url
對象ImageIO.read()
,而且,你可以猜到,我得到一個HTTP 401未經授權,雖然user
和pass
是正確的。
我在做什麼錯?
我也試過new URL("http://user:[email protected]/snapshot.jpg")
,但那也行不通。
謝謝,現在我明白了'null'的原因。但爲什麼它會返回HTTP 401?是否有可能「授權」屬性根本沒有設置? –
@Blagovest Buyukliev,如果'uc擴展HttpURLConnection',然後通過調用'getErrorStream()'將其轉換爲'HttpURLConnection'並獲取錯誤的'InputStream'。這包含HTTP 401錯誤的消息。除此之外,我無法幫助你。 –