经过一年的工作,java代码突然出现以下错误
2017年2月2日下午6:28:39 org.apache.commons.httpclient.HttpMethodBase processCookieHeaders警告:Cookie被拒绝:“$ Version = 0; BROWSERID = MX-kTzLhTUm29MoIKmS6ag; $ PATH = /; $域= .salesforce.com”。 域属性“.salesforce.com”违反了RFC 2109:host minus 域名可能不包含任何点
我不是解决此问题的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);
解决此问题需要什么?任何帮助都很明显。感谢!!!
修改
班级中使用的套餐
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;
答案 0 :(得分:2)
我有同样的问题,我已经解决了。
你必须把这个:
httpclient.getParams().setParameter(HttpClientParams.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
而不是:
httpclient.getParams().setParameter(HttpClientParams.COOKIE_POLICY, CookiePolicy.RFC_2965);
BROWSER_COMPATIBILITY 与常见的Cookie管理实践兼容,另一方面,默认情况下符合 RFC2109 。
请接受我的建议:)