2013-08-07 158 views
0

我正在使用java.net使用URL創建簡單的請求。該網址每次都會返回一個唯一的結果。當應用程序在開發服務器上時,一切正常。當部署到GAE時,無論我調用url多少次,都會一次又一次地返回相同的結果。如果我將實際URL複製並粘貼到瀏覽器中,則每次請求發出時都會返回一個新的唯一結果,從而按預期工作。什麼可能導致這個問題?任何幫助將不勝感激。URL每次都會返回相同的結果

+2

您可以將當前時間毫秒添加到URL以防止緩存「myurl.jsp?milli = 12012542101」 –

+0

當我向請求添加milli或類似的值時,我請求的api返回無效參數。 –

+0

將頁面的緩存控制標頭設置爲NO-CACHE。 請參閱http://stackoverflow.com/questions/4480304/how-to-set-http-headers-for-cache-control – Philippe

回答

0

你有沒有嘗試清空緩存在瀏覽器中丟棄緩存問題。 也可能在網絡級別緩存。另外嘗試像ts,時間戳等其他常見的時間戳參數。也許服務會接受一個。

+0

謝謝你的建議。我能夠添加參數「_」來解決問題,服務會忽略它。 –

0

嘗試使用URLConnection類,讓我知道它是如何工作的,該問題可能是緩存

import java.io.IOException; 
import java.io.InputStream; 
import java.net.URL; 
import java.net.URLConnection; 

public class Test { 

    public static void main(String[] args) throws IOException { 
     System.out.println(getData("http://www.google.com/")); 
    } 

    public static String getData(String path) throws IOException { 
     URL url = new URL(path); 
     URLConnection urlc = (URLConnection) url.openConnection(); 
     urlc.setUseCaches(false); 
     urlc.connect(); 
     InputStream is = urlc.getInputStream(); 
     String s = ""; 
     int info; 
     while ((info = is.read()) != -1) { 
      s += (char) info; 
     } 
     is.close(); 
     return s; 
    } 
} 
+0

我實際上一直主要使用HttpURLConnection。我有setUsesCaches(false),並沒有解決這個問題。 –

相關問題