File tree Expand file tree Collapse file tree 5 files changed +18
-12
lines changed
Expand file tree Collapse file tree 5 files changed +18
-12
lines changed Original file line number Diff line number Diff line change @@ -31,18 +31,18 @@ type Request struct {
3131 ClientType int
3232}
3333
34- func (r * Request ) SetHeaders (header map [ string ] string , RandomUA bool ) {
34+ func (r * Request ) SetHeaders (header http. Header , RandomUA bool ) {
3535 if RandomUA {
3636 r .SetHeader ("User-Agent" , pkg .RandomUA ())
3737 }
3838
3939 if r .StandardRequest != nil {
40- for k , v := range header {
41- r .StandardRequest .Header .Set (k , v )
42- }
40+ r .StandardRequest .Header = header
4341 } else if r .FastRequest != nil {
4442 for k , v := range header {
45- r .FastRequest .Header .Set (k , v )
43+ for _ , i := range v {
44+ r .FastRequest .Header .Set (k , i )
45+ }
4646 }
4747 }
4848}
Original file line number Diff line number Diff line change @@ -99,7 +99,7 @@ type OutputOptions struct {
9999
100100type RequestOptions struct {
101101 Method string `short:"X" long:"method" default:"GET" description:"String, request method, e.g.: --method POST" config:"method"`
102- Headers []string `long:"header" description:"Strings, custom headers, e.g.: --header 'Auth: example_auth'" config:"headers"`
102+ Headers []string `short:"H" long:"header" description:"Strings, custom headers, e.g.: --header 'Auth: example_auth'" config:"headers"`
103103 UserAgent string `long:"user-agent" description:"String, custom user-agent, e.g.: --user-agent Custom" config:"useragent"`
104104 RandomUserAgent bool `long:"random-agent" description:"Bool, use random with default user-agent" config:"random-useragent"`
105105 Cookie []string `long:"cookie" description:"Strings, custom cookie" config:"cookies"`
Original file line number Diff line number Diff line change @@ -107,12 +107,12 @@ type BrutePool struct {
107107}
108108
109109func (pool * BrutePool ) Init () error {
110- if pool .Headers [ "User-Agent" ] == "" {
111- pool .Headers [ "User-Agent" ] = pkg .DefaultUserAgent
110+ if pool .Headers . Get ( "User-Agent" ) == "" {
111+ pool .Headers . Set ( "User-Agent" , pkg .DefaultUserAgent )
112112 }
113113
114- if pool .Headers [ "Accept" ] == "" {
115- pool .Headers [ "Accept" ] = "*/*"
114+ if pool .Headers . Get ( "Accept" ) == "" {
115+ pool .Headers . Set ( "Accept" , "*/*" )
116116 }
117117
118118 pool .initwg .Add (2 )
Original file line number Diff line number Diff line change 77 "github.com/chainreactors/words"
88 "github.com/chainreactors/words/rule"
99 "github.com/expr-lang/expr/vm"
10+ "net/http"
1011 "sync"
1112 "time"
1213)
@@ -27,7 +28,7 @@ type Config struct {
2728 BreakThreshold int32
2829 Method string
2930 Mod SprayMod
30- Headers map [ string ] string
31+ Headers http. Header
3132 ClientType int
3233 MatchExpr * vm.Program
3334 FilterExpr * vm.Program
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ import (
1515 "github.com/panjf2000/ants/v2"
1616 "github.com/vbauerster/mpb/v8"
1717 "github.com/vbauerster/mpb/v8/decor"
18+ "net/http"
1819 "strings"
1920 "sync"
2021 "time"
@@ -67,7 +68,7 @@ func (r *Runner) PrepareConfig() *pool.Config {
6768 Thread : r .Threads ,
6869 Timeout : time .Duration (r .Timeout ) * time .Second ,
6970 RateLimit : r .RateLimit ,
70- Headers : r . Headers ,
71+ Headers : make (http. Header ) ,
7172 Method : r .Method ,
7273 Mod : pool .ModMap [r .Mod ],
7374 OutputCh : r .outputCh ,
@@ -109,6 +110,10 @@ func (r *Runner) PrepareConfig() *pool.Config {
109110 }
110111 }
111112
113+ for k , v := range r .Headers {
114+ config .Headers .Set (k , v )
115+ }
116+
112117 return config
113118}
114119
You can’t perform that action at this time.
0 commit comments