Repository: projectdiscovery/httpx (language: go)

Issue:
Could not write response at path because The filename, directory name, or volume label syntax is incorrect.
### httpx version:


```
httpx -version
    __    __  __       _  __
   / /_  / /_/ /_____ | |/ /
  / __ \/ __/ __/ __ \|   /
 / / / / /_/ /_/ /_/ /   |
/_/ /_/\__/\__/ .___/_/|_|
             /_/              v1.2.8

                projectdiscovery.io

[INF] Current Version: v1.2.8
```

### Current Behavior:
Hi, i'm trying to store the response into a specify directory, but it went wrong:

here is my command: `httpx.exe -l search-1.txt -sc -cl -location -title -server -ip -mc 200,301,302,307 -o res.txt -srd output -nc`

the content of [search-1.txt] is:
`http://49.234.225.181:8086`

when httpx.exe running,
`
[ERR] Could not write response at path 'C:\Users\Admin\Desktop\res\output\49.234.225.181:8086\eb59444a97b84fedb7571843ccd71e0f5080951a.txt', to disk: open 
 C:\Users\Admin\Desktop\res\output\49.234.225.181:8086\eb59444a97b84fedb7571843ccd71e0f5080951a.txt: The filename, directory name, or volume label syntax is incorrect.
`

### Expected Behavior:
when my input file contains a `colon` `(like http://49.234.225.181:8086)` , httpx can replace `colon` with `_` or others symbol, so it can save response into output dir successfuly .


### Steps To Reproduce:
1. create a new file [search-1.txt], the content is : `http://49.234.225.181:8086`
2. run the command: httpx.exe -l search-1.txt -sc -cl -location -title -server -ip -mc 200,301,302,307 -o res.txt -srd output -nc
3. httpx.exe go wrong.


### Anything else:
No more.


Discussion / hints:

Fix patch:
diff --git a/runner/runner.go b/runner/runner.go
index e536d50fb..b029cd61e 100644
--- a/runner/runner.go
+++ b/runner/runner.go
@@ -1580,7 +1580,8 @@ retry:
 		domainFile := URL.EscapedString()
 		hash := hashes.Sha1([]byte(domainFile))
 		domainFile = fmt.Sprintf("%s.txt", hash)
-		domainBaseDir := filepath.Join(scanopts.StoreResponseDirectory, URL.Host)
+		host := strings.ReplaceAll(URL.Host, ":", "_")
+		domainBaseDir := filepath.Join(scanopts.StoreResponseDirectory, host)
 		// store response
 		responsePath = filepath.Join(domainBaseDir, domainFile)
 		respRaw := resp.Raw


Test patch: