diff --git a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/async/interceptors/ApacheAsyncHttpClientIT.java b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/async/interceptors/ApacheAsyncHttpClientIT.java index b56be996..a034ca34 100644 --- a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/async/interceptors/ApacheAsyncHttpClientIT.java +++ b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/async/interceptors/ApacheAsyncHttpClientIT.java @@ -376,6 +376,11 @@ else if (args.length == 5) { RequestLine rl = hr.getRequestLine(); httpAction = rl.getMethod(); targetURL = rl.getUri(); + + // 部分HttpRequest中没有ip:port,需要从httpHost中拿到再拼接 + if (!targetURL.startsWith("http")) { + targetURL = requestProducer.getTarget().toURI() + targetURL; + } } catch (IOException e) { // ignore thie exception diff --git a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/sync/interceptors/ApacheHttpClientIT.java b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/sync/interceptors/ApacheHttpClientIT.java index 80adc3b3..118c8cec 100644 --- a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/sync/interceptors/ApacheHttpClientIT.java +++ b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients/sync/interceptors/ApacheHttpClientIT.java @@ -117,6 +117,11 @@ public void doStart(Object[] args) { httpAction = rl.getMethod(); targetURl = rl.getUri(); + // 部分HttpRequest中没有ip:port,需要从httpHost中拿到再拼接 + if (!targetURl.startsWith("http")) { + targetURl = target.toURI() + targetURl; + } + Map params = new HashMap(); params.put(CaptureConstants.INFO_CLIENT_REQUEST_URL, targetURl); diff --git a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients3/sync/interceptors/ApacheHttpClient3IT.java b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients3/sync/interceptors/ApacheHttpClient3IT.java index d7313393..b6fe9400 100644 --- a/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients3/sync/interceptors/ApacheHttpClient3IT.java +++ b/com.creditease.uav.hook.httpclients/src/main/java/com/creditease/uav/hook/httpclients3/sync/interceptors/ApacheHttpClient3IT.java @@ -101,6 +101,11 @@ public void doStart(Object[] args) { try { httpAction = method.getName(); targetURL = method.getURI().toString(); + + // HttpMethod中可能不包含ip:port,需要从httpHost中拿到再拼接 + if (!targetURL.startsWith("http")) { + targetURL = hostconfig.getHostURL() + targetURL; + } } catch (URIException e) { // ignore