2016-09-15 32 views
0

我想從使用php文件的MySQL數據庫中獲取數據。我的Java代碼如下:HttpURLConnection:生成的json-code建議頁面不存在(404),即使url正確

HttpURLConnection conn = null; 
    URL url = null; 

    try { 

     url = new URL(getURL); 
     System.out.println(getURL); 
     conn = (HttpURLConnection)url.openConnection(); 

     //conn.setReadTimeout(READ_TIMEOUT); 
     //conn.setConnectTimeout(CONNECTION_TIMEOUT); 
     conn.setRequestMethod("POST"); 

     // setDoInput and setDoOutput method depict handling of both send and receive 
     conn.setDoInput(true); 
     conn.setDoOutput(true); 

     // Append parameters to URL 
     Uri.Builder builder = new Uri.Builder(); 
     builder.appendQueryParameter("user", USER); 
     builder.appendQueryParameter("pass", PASS); 
     builder.appendQueryParameter("server", SERVER); 
     builder.appendQueryParameter("db", DB); 

     String query = builder.build().getEncodedQuery(); 

     // Open connection for sending data 
     OutputStream os = conn.getOutputStream(); 
     BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); 
     writer.write(query); 
     writer.flush(); 
     writer.close(); 
     os.close(); 
     conn.connect(); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e1) { 
     e1.printStackTrace(); 
    } 

    try { 
     int response_code = conn.getResponseCode(); 

     // Check if successful connection made 
     if (response_code == HttpURLConnection.HTTP_OK) { 

      // Read data sent from server 
      InputStream input = conn.getInputStream(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(input)); 
      result = reader.readLine(); 
      return(result); 

     }else{ 
      return("unsuccessful"); 
     } 

當我去我的網址(隱藏在變量的getURL)使用的瀏覽器,我看到我的屏幕上的JSON字符串,只是因爲它應該。但是,當我輸出閱讀器的內容時​​(上面的代碼只是第一行,但是通過修改代碼我當然可以輸出更多),它顯示了顯示404頁面的網頁的html代碼不存在信息。

任何人有任何想法出了什麼問題?是的,我確實檢查了錯字。

+0

也許有些人在您手動導航到該頁面時沒有注意到的重定向內容,但這會打破您的請求。 – Xatenev

+0

哪裏ius getURL定義? –

+0

getURL在此類擴展的類中定義。爲什麼? – MWB

回答

0

好吧,我不知道發生了什麼,因爲我沒有改變任何東西。但突然它開始工作?!?

一定有什麼事情服務器端我猜...

感謝您的輸入和分享您的想法!