use of okhttp3.Cookie in project okhttp-OkGo by jeasonlzy.
the class PersistentCookieStore method decodeCookie.
/**
* 将字符串反序列化成cookies
*
* @param cookieString cookies string
* @return cookie object
*/
private Cookie decodeCookie(String cookieString) {
byte[] bytes = hexStringToByteArray(cookieString);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
Cookie cookie = null;
try {
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
cookie = ((SerializableHttpCookie) objectInputStream.readObject()).getCookie();
} catch (IOException e) {
Log.d(LOG_TAG, "IOException in decodeCookie", e);
} catch (ClassNotFoundException e) {
Log.d(LOG_TAG, "ClassNotFoundException in decodeCookie", e);
}
return cookie;
}
use of okhttp3.Cookie in project okhttputils by hongyangAndroid.
the class PersistentCookieStore method decodeCookie.
protected Cookie decodeCookie(String cookieString) {
byte[] bytes = hexStringToByteArray(cookieString);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
Cookie cookie = null;
try {
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
cookie = ((SerializableHttpCookie) objectInputStream.readObject()).getCookie();
} catch (IOException e) {
Log.d(LOG_TAG, "IOException in decodeCookie", e);
} catch (ClassNotFoundException e) {
Log.d(LOG_TAG, "ClassNotFoundException in decodeCookie", e);
}
return cookie;
}
use of okhttp3.Cookie in project keywhiz by square.
the class CommandExecutor method executeCommand.
public void executeCommand() throws IOException {
if (command == null) {
if (config.version) {
System.out.println("Version: " + APP_VERSION);
} else {
System.err.println("Must specify a command.");
parentCommander.usage();
}
return;
}
HttpUrl url;
if (Strings.isNullOrEmpty(config.url)) {
url = HttpUrl.parse("https://localhost:4444");
System.out.println("Server URL not specified (--url flag), assuming " + url);
} else {
url = HttpUrl.parse(config.url);
if (url == null) {
System.err.print("Invalid URL " + config.url);
return;
}
}
KeywhizClient client;
OkHttpClient httpClient;
String user = config.getUser().orElse(USER_NAME.value());
Path cookiePath = cookieDir.resolve(format(".keywhiz.%s.cookie", user));
try {
List<HttpCookie> cookieList = ClientUtils.loadCookies(cookiePath);
httpClient = ClientUtils.sslOkHttpClient(config.getDevTrustStore(), cookieList);
client = new KeywhizClient(mapper, httpClient, url);
// Try a simple get request to determine whether or not the cookies are still valid
if (!client.isLoggedIn()) {
throw new UnauthorizedException();
}
} catch (IOException e) {
// Either could not find the cookie file, or the cookies were expired -- must login manually.
httpClient = ClientUtils.sslOkHttpClient(config.getDevTrustStore(), ImmutableList.of());
client = new KeywhizClient(mapper, httpClient, url);
char[] password = ClientUtils.readPassword(user);
client.login(user, password);
Arrays.fill(password, '\0');
}
// Save/update the cookies if we logged in successfully
ClientUtils.saveCookies(cookiePath);
Printing printing = new Printing(client);
Command cmd = Command.valueOf(command.toUpperCase().trim());
switch(cmd) {
case LIST:
new ListAction((ListActionConfig) commands.get(command), client, printing).run();
break;
case DESCRIBE:
new DescribeAction((DescribeActionConfig) commands.get(command), client, printing).run();
break;
case ADD:
new AddAction((AddActionConfig) commands.get(command), client, mapper).run();
break;
case UPDATE:
new UpdateAction((UpdateActionConfig) commands.get(command), client, mapper).run();
break;
case DELETE:
new DeleteAction((DeleteActionConfig) commands.get(command), client).run();
break;
case ASSIGN:
new AssignAction((AssignActionConfig) commands.get(command), client).run();
break;
case UNASSIGN:
new UnassignAction((UnassignActionConfig) commands.get(command), client).run();
break;
case VERSIONS:
new ListVersionsAction((ListVersionsActionConfig) commands.get(command), client, printing).run();
break;
case ROLLBACK:
new RollbackAction((RollbackActionConfig) commands.get(command), client).run();
break;
case LOGIN:
// User is already logged in at this point
break;
default:
commander.usage();
}
}
use of okhttp3.Cookie in project okhttp by square.
the class UrlConnectionCacheTest method cachePlusCookies.
@Test
public void cachePlusCookies() throws Exception {
RecordingCookieJar cookieJar = new RecordingCookieJar();
urlFactory.setClient(urlFactory.client().newBuilder().cookieJar(cookieJar).build());
server.enqueue(new MockResponse().addHeader("Set-Cookie: a=FIRST").addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS)).addHeader("Cache-Control: max-age=0").setBody("A"));
server.enqueue(new MockResponse().addHeader("Set-Cookie: a=SECOND").setResponseCode(HttpURLConnection.HTTP_NOT_MODIFIED));
URL url = server.url("/").url();
assertEquals("A", readAscii(urlFactory.open(url)));
cookieJar.assertResponseCookies("a=FIRST; path=/");
assertEquals("A", readAscii(urlFactory.open(url)));
cookieJar.assertResponseCookies("a=SECOND; path=/");
}
use of okhttp3.Cookie in project okhttp by square.
the class CacheTest method cachePlusCookies.
@Test
public void cachePlusCookies() throws Exception {
RecordingCookieJar cookieJar = new RecordingCookieJar();
client = client.newBuilder().cookieJar(cookieJar).build();
server.enqueue(new MockResponse().addHeader("Set-Cookie: a=FIRST").addHeader("Last-Modified: " + formatDate(-1, TimeUnit.HOURS)).addHeader("Cache-Control: max-age=0").setBody("A"));
server.enqueue(new MockResponse().addHeader("Set-Cookie: a=SECOND").setResponseCode(HttpURLConnection.HTTP_NOT_MODIFIED));
HttpUrl url = server.url("/");
assertEquals("A", get(url).body().string());
cookieJar.assertResponseCookies("a=FIRST; path=/");
assertEquals("A", get(url).body().string());
cookieJar.assertResponseCookies("a=SECOND; path=/");
}
Aggregations