This commit is contained in:
Looly 2022-09-30 11:23:12 +08:00
parent 9fb11f6525
commit 0189434df8
7 changed files with 50 additions and 5 deletions

View File

@ -1060,4 +1060,12 @@ public class DateUtilTest {
DateUtil.parse(sourceStr));
Assert.assertTrue(between);
}
@Test
public void isLastDayTest(){
final DateTime dateTime = DateUtil.parse("2022-09-30");
final int dayOfMonth = DateUtil.getLastDayOfMonth(dateTime);
Assert.assertEquals(dayOfMonth, Objects.requireNonNull(dateTime).dayOfMonth());
Assert.assertTrue("not is last day of this month !!",DateUtil.isLastDayOfMonth(dateTime));
}
}

View File

@ -8,6 +8,7 @@ import cn.hutool.core.io.resource.FileResource;
import cn.hutool.core.io.resource.MultiFileResource;
import cn.hutool.core.io.resource.Resource;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Console;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.map.TableMap;
import cn.hutool.core.net.ssl.SSLUtil;
@ -1226,7 +1227,23 @@ public class HttpRequest extends HttpBase<HttpRequest> {
if (responseCode != HttpURLConnection.HTTP_OK) {
if (HttpStatus.isRedirected(responseCode)) {
setUrl(UrlBuilder.ofHttpWithoutEncode(httpConnection.header(Header.LOCATION)));
final UrlBuilder redirectUrl;
String location = httpConnection.header(Header.LOCATION);
if(false == HttpUtil.isHttp(location) && false == HttpUtil.isHttps(location)){
// issue#I5TPSY
// location可能为相对路径
if(false == location.startsWith("/")){
location = StrUtil.addSuffixIfNot(this.url.getPathStr(), "/") + location;
}
redirectUrl = UrlBuilder.of(this.url.getScheme(), this.url.getHost(), this.url.getPort()
, location, null, null, this.charset);
} else{
redirectUrl = UrlBuilder.ofHttpWithoutEncode(location);
}
Console.log(redirectUrl);
setUrl(redirectUrl);
if (redirectCount < config.maxRedirectCount) {
redirectCount++;
// 重定向不再走过滤器

View File

@ -0,0 +1,20 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import org.junit.Ignore;
import org.junit.Test;
import java.net.HttpCookie;
public class IssueI5TPSYTest {
@Test
@Ignore
public void redirectTest() {
final String url = "https://bsxt.gdzwfw.gov.cn/UnifiedReporting/auth/newIndex";
final HttpResponse res = HttpUtil.createGet(url).setFollowRedirects(true)
.cookie(new HttpCookie("iPlanetDirectoryPro", "123"))
.execute();
Console.log(res.body());
}
}

View File

@ -7,7 +7,7 @@ import cn.hutool.poi.excel.StyleSet;
import cn.hutool.poi.excel.cell.setters.CellSetterFactory;
import cn.hutool.poi.excel.cell.values.ErrorCellValue;
import cn.hutool.poi.excel.cell.values.NumericCellValue;
import cn.hutool.poi.excel.editors.TrimEditor;
import cn.hutool.poi.excel.cell.editors.TrimEditor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CellType;

View File

@ -1,4 +1,4 @@
package cn.hutool.poi.excel.editors;
package cn.hutool.poi.excel.cell.editors;
import org.apache.poi.ss.usermodel.Cell;

View File

@ -1,4 +1,4 @@
package cn.hutool.poi.excel.editors;
package cn.hutool.poi.excel.cell.editors;
import org.apache.poi.ss.usermodel.Cell;

View File

@ -3,4 +3,4 @@
* @author looly
*
*/
package cn.hutool.poi.excel.editors;
package cn.hutool.poi.excel.cell.editors;