2015-09-10 250 views
1

Responsecode返回405給我,我不明白我的應用代碼中的錯誤在哪裏?我正在使用httpurlconnection連接到互聯網。android httpurlconenction請求方法405不允許

 HttpURLConnection conn = (HttpURLConnection) url2.openConnection(); 
       conn.setReadTimeout(60000); 
       conn.setConnectTimeout(60000); 
       conn.setRequestMethod("GET"); 
       conn.setDoInput(true); 
       conn.setDoOutput(true); 
       conn.setRequestProperty("Cache-Control", "no-cache"); 
       String sessionId = "JSESSIONID=" + Common.getAuthCode(); 
       conn.setRequestProperty("Cookie", sessionId); 
       conn.setRequestProperty("User-Agent",System.getProperty("http.agent")); 
       OutputStream os = conn.getOutputStream(); 
       BufferedWriter writer = new BufferedWriter(
         new OutputStreamWriter(os, "UTF-8"));     
       writer.write(getQuery(params)); 
       writer.flush(); 
       writer.close(); 
       os.close(); 
       conn.connect(); 
       int status = conn.getResponseCode(); 
       System.out.println("statue "+status); 
       switch (status) { 
        case 200: 
        case 201: 
         BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
         StringBuilder sb = new StringBuilder(); 
         String line; 
         while ((line = br.readLine()) != null) { 
          sb.append(line+"\n"); 
         } 
         br.close(); 
         System.out.println("here"); 
         return sb.toString(); 
       } 
+0

它添加標題不起作用?我正在使用setRequestProperty? – user3278732

回答

2

對於GET請求,除去conn.setDoOutput(true);線。但是,我認爲這應該是POST請求。將conn.setRequestMethod("GET"); 替換爲conn.setRequestMethod("POST");,然後再次運行您的應用。