优化
This commit is contained in:
@@ -232,33 +232,45 @@ interface JsExtensions {
|
||||
* js实现重定向拦截,网络访问get
|
||||
*/
|
||||
fun get(urlStr: String, headers: Map<String, String>): Connection.Response {
|
||||
return Jsoup.connect(urlStr)
|
||||
val response = Jsoup.connect(urlStr)
|
||||
.sslSocketFactory(SSLHelper.unsafeSSLSocketFactory)
|
||||
.ignoreContentType(true)
|
||||
.followRedirects(false)
|
||||
.headers(headers)
|
||||
.method(Connection.Method.GET)
|
||||
.execute()
|
||||
val cookies = response.cookies()
|
||||
CookieStore.mapToCookie(cookies)?.let {
|
||||
val domain = NetworkUtils.getSubDomain(urlStr)
|
||||
CacheManager.putMemory("${domain}_cookieJar", it)
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
/**
|
||||
* js实现重定向拦截,网络访问head,不返回Response Body更省流量
|
||||
*/
|
||||
fun head(urlStr: String, headers: Map<String, String>): Connection.Response {
|
||||
return Jsoup.connect(urlStr)
|
||||
val response = Jsoup.connect(urlStr)
|
||||
.sslSocketFactory(SSLHelper.unsafeSSLSocketFactory)
|
||||
.ignoreContentType(true)
|
||||
.followRedirects(false)
|
||||
.headers(headers)
|
||||
.method(Connection.Method.HEAD)
|
||||
.execute()
|
||||
val cookies = response.cookies()
|
||||
CookieStore.mapToCookie(cookies)?.let {
|
||||
val domain = NetworkUtils.getSubDomain(urlStr)
|
||||
CacheManager.putMemory("${domain}_cookieJar", it)
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
/**
|
||||
* 网络访问post
|
||||
*/
|
||||
fun post(urlStr: String, body: String, headers: Map<String, String>): Connection.Response {
|
||||
return Jsoup.connect(urlStr)
|
||||
val response = Jsoup.connect(urlStr)
|
||||
.sslSocketFactory(SSLHelper.unsafeSSLSocketFactory)
|
||||
.ignoreContentType(true)
|
||||
.followRedirects(false)
|
||||
@@ -266,6 +278,12 @@ interface JsExtensions {
|
||||
.headers(headers)
|
||||
.method(Connection.Method.POST)
|
||||
.execute()
|
||||
val cookies = response.cookies()
|
||||
CookieStore.mapToCookie(cookies)?.let {
|
||||
val domain = NetworkUtils.getSubDomain(urlStr)
|
||||
CacheManager.putMemory("${domain}_cookieJar", it)
|
||||
}
|
||||
return response
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -82,7 +82,7 @@ object CookieStore : CookieManager {
|
||||
}
|
||||
|
||||
override fun mapToCookie(cookieMap: Map<String, String>?): String? {
|
||||
if (cookieMap == null || cookieMap.isEmpty()) {
|
||||
if (cookieMap.isNullOrEmpty()) {
|
||||
return null
|
||||
}
|
||||
val builder = StringBuilder()
|
||||
|
||||
@@ -24,12 +24,20 @@ val cookieJar by lazy {
|
||||
}
|
||||
|
||||
override fun saveFromResponse(url: HttpUrl, cookies: List<Cookie>) {
|
||||
if (cookies.isEmpty()) return
|
||||
//临时保存 书源启用cookie选项再添加到数据库
|
||||
val cookieBuilder = StringBuilder()
|
||||
cookies.forEach {
|
||||
//CookieStore.replaceCookie(url.toString(), "${it.name}=${it.value}")
|
||||
//临时保存 书源启用cookie选项再添加到数据库
|
||||
val domain = NetworkUtils.getSubDomain(url.toString())
|
||||
CacheManager.putMemory("${domain}_cookieJar", "${it.name}=${it.value}")
|
||||
if (it.value != "") {
|
||||
cookieBuilder.append(it.name)
|
||||
.append("=")
|
||||
.append(it.value)
|
||||
.append(";")
|
||||
}
|
||||
}
|
||||
cookieBuilder.deleteCharAt(cookieBuilder.lastIndexOf(";"))
|
||||
val domain = NetworkUtils.getSubDomain(url.toString())
|
||||
CacheManager.putMemory("${domain}_cookieJar", cookieBuilder.toString())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user