我正在尝试用Java编写Shopify API的私有应用程序。我正在使用org.apache.http库来编写我的请求。以下是我目前的要求:
CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultRequestConfig(RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build()).build();
HttpPut putRequest = new HttpPut(request);
StringEntity params;
try {
params = new StringEntity(json);
putRequest.addHeader("X-Shopify-Access-Token", Constants.getShopifySharedSecret());
putRequest.setEntity(params);
CloseableHttpResponse response = httpClient.execute(putRequest);
HttpEntity entity = response.getEntity();
System.out.println("Title Change Request Output: ");
System.out.println(EntityUtils.toString(entity));
response.close();
httpClient.close();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return;
这将返回一个要求登录的HTML页面。在搜索Shopify论坛后,似乎在向Shopify发出POST或PUT请求时,您不允许发送任何cookie,否则返回登录页面。所以我的问题是,有没有办法确保CloseableHttpClient不会发送任何cookie?
答案 0 :(得分:0)
您可以将自定义Cookie存储绑定到本地HTTP上下文并在请求中发送
{{1}}
答案 1 :(得分:0)
阻止HttpClient向目标主机发送cookie的一种方法是禁用烹饪管理
CloseableHttpClient client = HttpClientBuilder.create()
.disableCookieManagement()
.build();