java - Rest API 调用拒绝 Cookie

标签 java rest http salesforce

工作一年后,java代码突然出现以下错误

Feb 02, 2017 6:28:39 PM org.apache.commons.httpclient.HttpMethodBase processCookieHeaders WARNING: Cookie rejected: "$Version=0; BrowserId=Mx-kTzLhTUm29MoIKmS6ag; $Path=/; $Domain=.salesforce.com". Domain attribute ".salesforce.com" violates RFC 2109: host minus domain may not contain any dots

我不是解决这个问题的java开发人员。我对此错误一无所知。

我的代码与使用 httpclient 的代码相同

HttpClient httpclient = new HttpClient();   
httpclient.getParams().setParameter(HttpClientParams.ALLOW_CIRCULAR_REDIRECTS, true);
httpclient.getParams().setParameter(HttpClientParams.COOKIE_POLICY, CookiePolicy.RFC_2965);
PostMethod post = new PostMethod(tokenUrl);
post.addParameter("grant_type", grant_type);
post.addParameter("client_id", client_id);
post.addParameter("client_secret", client_secret);
post.addParameter("username", username);
post.addParameter("password", password);

httpclient.executeMethod(post);

我需要什么来解决这个问题。任何帮助都是值得赞赏的。谢谢!!!

编辑

类(class)中使用的包

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import java.util.logging.Logger;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.io.IOUtils;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

最佳答案

我也遇到了同样的问题,已经解决了。

你必须把这个:

httpclient.getParams().setParameter(HttpClientParams.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);

而不是:

httpclient.getParams().setParameter(HttpClientParams.COOKIE_POLICY, CookiePolicy.RFC_2965);

BROWSER_COMPATIBILITY 与常见的 Cookie 管理实践兼容,另一方面,默认情况下符合 RFC2109 规范。

请接受我的建议:)

关于java - Rest API 调用拒绝 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003021/

相关文章:

java - 这个建筑叫什么名字?

rest - 如何在camel Rest中验证JSON请求

java - 带有 Jackson 的自定义 JSON 字段作为响应

php - 在基于 C 的 Web 服务器上执行和输出 PHP - 卡住了!

rest - 如何在 Go 中执行带有正文的 GET 请求?

c++ - libcurl:curl_easy_perform block ,除非设置了 CURLOPT_READFUNCTION

java - 从 http ://www. autorenlexikon.lu 接收 JSON 列表

java - 根据Java中对象属性的最常见值过滤对象的Arraylist

java - 我的 TCP 客户端-服务器模板做错了什么?

java - ElasticSearch:有没有办法在先前的 SearchRequest 之后将新文档插入所有索引?