// 创建URL
URL url = new URL(urlPath);
Log.i(TAG, "startDowload  url -------->" + url); // 创建HttpURLConnection对象
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
Log.i(TAG, "startDowload  conn.getResponseCode() -------->"
+ conn.getResponseCode());
Log.i(TAG, "startDowload  conn -------->" + conn);
// 设置连接超时
conn.setConnectTimeout(3000);
// 设置连接方式
conn.setRequestMethod("GET");
报错误
07-28 09:22:41.460: WARN/System.err(18194): java.net.ProtocolException: Connection already established
07-28 09:22:41.480: WARN/System.err(18194):     at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:429)
07-28 09:22:41.480: WARN/System.err(18194):     at com.hgq.download.server.Downloader.startDowload(Downloader.java:82)
07-28 09:22:41.480: WARN/System.err(18194):     at com.hgq.download.MainActivity.startDownload(MainActivity.java:115)
07-28 09:22:41.490: WARN/System.err(18194):     at com.hgq.download.MainActivity.onClick(MainActivity.java:84)
07-28 09:22:41.490: WARN/System.err(18194):     at android.view.View.performClick(View.java:2408)
07-28 09:22:41.490: WARN/System.err(18194):     at android.view.View$PerformClick.run(View.java:8816)
07-28 09:22:41.490: WARN/System.err(18194):     at android.os.Handler.handleCallback(Handler.java:587)
07-28 09:22:41.500: WARN/System.err(18194):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-28 09:22:41.500: WARN/System.err(18194):     at android.os.Looper.loop(Looper.java:123)
07-28 09:22:41.500: WARN/System.err(18194):     at android.app.ActivityThread.main(ActivityThread.java:4627)
07-28 09:22:41.500: WARN/System.err(18194):     at java.lang.reflect.Method.invokeNative(Native Method)
07-28 09:22:41.500: WARN/System.err(18194):     at java.lang.reflect.Method.invoke(Method.java:521)
07-28 09:22:41.510: WARN/System.err(18194):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-28 09:22:41.510: WARN/System.err(18194):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-28 09:22:41.510: WARN/System.err(18194):     at dalvik.system.NativeStart.main(Native Method)
请问高手怎么解决吖.?
我连接服务器的代码都这样子的..
一直都没出现问题..就今天出了问题..
好纠结..

解决方案 »

  1.   

    Log.i(TAG, "startDowload  conn.getResponseCode() -------->"
                            + conn.getResponseCode());
    这段去掉
      

  2.   

    如果没有建立连接并执行getInputStream
    在调用getResponseCode的时候,该函数会自动执行getInputStream并获取Response Code
    所以你在此函数后再设置Request Type就会造成Connection already established错误。所以应该改成这样的...
    conn.setRequestMethod("GET");
    conn.getInputStream();                Log.i(TAG, "startDowload  conn.getResponseCode() -------->"
                            + conn.getResponseCode());conn.getInputStream();获取返回流并已获得ResponseCode
      

  3.   

    将设置连接方式放在创建HttpURLConnection对象下面看看。                // 创建URL
                    URL url = new URL(urlPath);
                    Log.i(TAG, "startDowload  url -------->" + url);                // 创建HttpURLConnection对象
                    HttpURLConnection conn = (HttpURLConnection) url
                            .openConnection();
                    // 设置连接方式
                    conn.setRequestMethod("GET");
                    // 设置连接超时
                    conn.setConnectTimeout(3000);
                    Log.i(TAG, "startDowload  conn.getResponseCode() -------->"
                            + conn.getResponseCode());
                    Log.i(TAG, "startDowload  conn -------->" + conn);