本文整理匯總了Java中org.apache.commons.httpclient.cookie.CookiePolicy.getDefaultSpec方法的典型用法代碼示例。如果您正苦於以下問題:Java CookiePolicy.getDefaultSpec方法的具體用法?Java CookiePolicy.getDefaultSpec怎麽用?Java CookiePolicy.getDefaultSpec使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.httpclient.cookie.CookiePolicy
的用法示例。
在下文中一共展示了CookiePolicy.getDefaultSpec方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getCookies
import org.apache.commons.httpclient.cookie.CookiePolicy; //導入方法依賴的package包/類
/**
* Returns an array of {@link Cookie cookies} in this HTTP
* state that match the given request parameters.
*
* @param domain the request domain
* @param port the request port
* @param path the request path
* @param secure <code>true</code> when using HTTPS
*
* @return an array of {@link Cookie cookies}.
*
* @see #getCookies()
*
* @deprecated use CookieSpec#match(String, int, String, boolean, Cookie)
*/
public synchronized Cookie[] getCookies(
String domain,
int port,
String path,
boolean secure
) {
LOG.trace("enter HttpState.getCookies(String, int, String, boolean)");
CookieSpec matcher = CookiePolicy.getDefaultSpec();
ArrayList list = new ArrayList(cookies.size());
for (int i = 0, m = cookies.size(); i < m; i++) {
Cookie cookie = (Cookie) (cookies.get(i));
if (matcher.match(domain, port, path, secure, cookie)) {
list.add(cookie);
}
}
return (Cookie[]) (list.toArray(new Cookie[list.size()]));
}
示例2: toExternalForm
import org.apache.commons.httpclient.cookie.CookiePolicy; //導入方法依賴的package包/類
/**
* Return a textual representation of the cookie.
*
* @return string.
*/
public String toExternalForm() {
CookieSpec spec = null;
if (getVersion() > 0) {
spec = CookiePolicy.getDefaultSpec();
} else {
spec = CookiePolicy.getCookieSpec(CookiePolicy.NETSCAPE);
}
return spec.formatCookie(this);
}
示例3: getResponseCookiesFromRequestResult
import org.apache.commons.httpclient.cookie.CookiePolicy; //導入方法依賴的package包/類
public static List<Cookie> getResponseCookiesFromRequestResult(IContext context, RequestResult requestResult) throws MalformedURLException {
if (requestResult == null)
throw new IllegalArgumentException("No request result provided");
List<Cookie> res = new ArrayList<Cookie>();
JSONObject headers = new JSONObject(requestResult.get_ResponseHeaders());
URL requestUrl = new URL(requestResult.getRequestUrl());
CookieSpec spec = CookiePolicy.getDefaultSpec();
if (headers.has("Set-Cookie")) {
JSONArray cookies = headers.getJSONArray("Set-Cookie");
for(int i = 0; i < cookies.length(); i++) {
try {
org.apache.commons.httpclient.Cookie[] innercookies = spec.parse(requestUrl.getHost(), requestUrl.getPort(), requestUrl.getPath(), "https".equals(requestUrl.getProtocol()), cookies.getString(i));
for(org.apache.commons.httpclient.Cookie innercookie : innercookies) {
Cookie cookie = new Cookie(context);
cookie.setName(innercookie.getName());
cookie.setValue(innercookie.getValue());
cookie.setDomain(innercookie.getDomain());
cookie.setPath(innercookie.getPath());
cookie.setMaxAgeSeconds(innercookie.getExpiryDate() == null ? -1 : Math.round((innercookie.getExpiryDate().getTime() - System.currentTimeMillis()) / 1000L));
res.add(cookie);
}
} catch (Exception e) {
RestServices.LOGCONSUME.warn("Failed to parse cookie: " + e.getMessage(), e);
}
}
}
return res;
}
示例4: main
import org.apache.commons.httpclient.cookie.CookiePolicy; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT, "http");
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
// 'developer.java.sun.com' has cookie compliance problems
// Their session cookie's domain attribute is in violation of the RFC2109
// We have to resort to using compatibility cookie policy
GetMethod authget = new GetMethod("/servlet/SessionServlet");
client.executeMethod(authget);
System.out.println("Login form get: " + authget.getStatusLine().toString());
// release any connection resources used by the method
authget.releaseConnection();
// See if we got any cookies
CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
Cookie[] initcookies = cookiespec.match(
LOGON_SITE, LOGON_PORT, "/", false, client.getState().getCookies());
System.out.println("Initial set of cookies:");
if (initcookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < initcookies.length; i++) {
System.out.println("- " + initcookies[i].toString());
}
}
PostMethod authpost = new PostMethod("/servlet/SessionServlet");
// Prepare login parameters
NameValuePair action = new NameValuePair("action", "login");
NameValuePair url = new NameValuePair("url", "/index.html");
NameValuePair userid = new NameValuePair("UserId", "userid");
NameValuePair password = new NameValuePair("Password", "password");
authpost.setRequestBody(
new NameValuePair[] {action, url, userid, password});
client.executeMethod(authpost);
System.out.println("Login form post: " + authpost.getStatusLine().toString());
// release any connection resources used by the method
authpost.releaseConnection();
// See if we got any cookies
// The only way of telling whether logon succeeded is
// by finding a session cookie
Cookie[] logoncookies = cookiespec.match(
LOGON_SITE, LOGON_PORT, "/", false, client.getState().getCookies());
System.out.println("Logon cookies:");
if (logoncookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < logoncookies.length; i++) {
System.out.println("- " + logoncookies[i].toString());
}
}
// Usually a successful form-based login results in a redicrect to
// another url
int statuscode = authpost.getStatusCode();
if ((statuscode == HttpStatus.SC_MOVED_TEMPORARILY) ||
(statuscode == HttpStatus.SC_MOVED_PERMANENTLY) ||
(statuscode == HttpStatus.SC_SEE_OTHER) ||
(statuscode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
Header header = authpost.getResponseHeader("location");
if (header != null) {
String newuri = header.getValue();
if ((newuri == null) || (newuri.equals(""))) {
newuri = "/";
}
System.out.println("Redirect target: " + newuri);
GetMethod redirect = new GetMethod(newuri);
client.executeMethod(redirect);
System.out.println("Redirect: " + redirect.getStatusLine().toString());
// release any connection resources used by the method
redirect.releaseConnection();
} else {
System.out.println("Invalid redirect");
System.exit(1);
}
}
}