簡體   English   中英

android中帶有HttpsURLConnection的java.net.protocolException

[英]java.net.protocolException with HttpsURLConnection in android

我正在嘗試通過HttpURL連接創建FlickR請求,並且在con.getInputStream()上收到java.net.protocolException

        Thread thread = new Thread(new Runnable(){
            @Override
            public void run() {
                try {
                    URL turl = new URL(url);                        
                    HttpsURLConnection con = (HttpsURLConnection)turl.openConnection();                     
                    InputStream inputStream = con.getInputStream();
                    xml = getStringFromInputStream(inputStream);
                    uihandler.post(obj.updateRunnable);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

該網址是

靜態最終字符串URL =“ https://api.flickr.com/services/rest/?method=flickr.interestingness.getList&api_key=XXXXXXXXXX ”;

異常記錄

07-07 23:47:36.980: W/System.err(1923): java.net.ProtocolException: Unexpected status line: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: Cache Access Denied</title> <style type="text/css"><!--   /* Page basics */
07-07 23:47:37.020: D/dalvikvm(1923): GC_FOR_ALLOC freed 204K, 9% free 3077K/3356K, paused 32ms, total 35ms
07-07 23:47:37.020: W/System.err(1923):     at  com.android.okhttp.internal.http.RawHeaders.setStatusLine(RawHeaders.java:108)
07-07 23:47:37.020: W/System.err(1923):     at com.android.okhttp.internal.http.RawHeaders.fromBytes(RawHeaders.java:308)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.Connection.makeTunnel(Connection.java:311)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.Connection.upgradeToTls(Connection.java:127)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.Connection.connect(Connection.java:107)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
07-07 23:47:37.030: W/System.err(1923):     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)
07-07 23:47:37.030: W/System.err(1923):     at com.example.flickr.XMLParser$2.run(XMLParser.java:99)
07-07 23:47:37.030: W/System.err(1923):     at java.lang.Thread.run(Thread.java:841)

任何幫助,將不勝感激。

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd"> <html><head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ERROR: Cache Access Denied</title> <style type="text/css"><!--   /* Page basics */

您正在獲取html而不是xml,這是您獲取異常的原因。
檢查您的網址。

服務器無法返回正確格式的HTTP響應。 相反,它只是返回純HTML,沒有HTTP標頭。 在客戶端,您無能為力。 向服務器人員投訴。 如果是您,請修復它。

順便說一句,與HTTPS或SSL無關,它們運行良好,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM