如何使用锈http请求登录phpmyadmin

时间:2019-06-25 14:11:41

标签: http authentication phpmyadmin rust request

我是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(&params)
    .send();


    let mut resp = get_request(url);
    //dbg!(url);
    dbg!(resp);
}
fn main() {
    test_scrape();
}

需要任何帮助!

0 个答案:

没有答案