我是rust的初学者,请原谅我的错误。 我正尝试登录我的团队phpmyadmin服务器以通过Web抓取一些SQL数据,但是我不确定如何继续。
我设法请求登录页面的html正文。但是,当我使用密码和用户名的形式进行发布请求时,我只会再次收到第一个登录页面的html正文
这是我到目前为止的代码:
// Webscrapping functions
fn get_request(url: &str) -> String {
let text = reqwest::get(url).expect("Couldn't get url").text().unwrap();
//println!("body = {:?}", text);
text
}
fn test_scrape(){
let mut resp = get_request("http://my-php-site.com/phpmyadmin/index.php");
//dbg!(&resp);
let selector = Selector::parse("input[name=token]").unwrap();
let fragment = Html::parse_fragment(&resp);
let element = fragment.select(&selector).next().unwrap();
let value = element.value().attr("value").unwrap();
dbg!(value);
test_post(value);
}
fn test_post(token: &str){
println!("<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>" );
let params =[
("pma_username","my_username"),
("pma_password","my_password"),
("server","1"),
("target","index.php"),
("token",token)
];
let mut foo = "http://my-php-site.com/phpmyadmin/index.php?token=".to_string();
let bar = "#PMAURL-3:tbl_sql.php?db=sthlmta&table=ToolsLog&server=1&target=&token=";
let url: &str = &(foo + token + bar + token);
let client = reqwest::Client::new();
let res = client.post("url")
.form(¶ms)
.send();
let mut resp = get_request(url);
//dbg!(url);
dbg!(resp);
}
fn main() {
test_scrape();
}
需要任何帮助!