我是一个使用ScriptRunner和Groovy的初学者。我有一个返回字符串数组的post请求。在我将它与我的Javascript post请求响应进行比较之前,我一直认为它工作得很好。(具有相同参数数据的相同端点)如何确认正在获得缓存响应?或者我如何确保我不会得到缓存响应?(如果是服务器端缓存,我不应该也通过Javascript调用得到相同的响应吗?)
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput( true );
conn.setInstanceFollowRedirects( false );
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty( "Content-Length", Integer.toString( postDataLength ));
conn.setUseCaches( false );
DataOutputStream wr = new DataOutputStream( conn.getOutputStream());
wr.write( postData );
def statusArrayString = new StringBuffer();
def rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
def line;
while((line=rd.readLine()) !=null) {
statusArrayString.append(line);
}发布于 2021-09-01 07:55:21
根据HTTP RFC,如果您不专门设置特定的头部,POST请求就不会被缓存。通常你不会这样做。
但如果你想确认,只需在URL的末尾添加一些虚拟查询字符串(例如时间戳)即可。
https://stackoverflow.com/questions/69007032
复制相似问题