LR 的上传文件与下载文件

http协议---上传文件:

前提:把要上传的文件放在存放脚本的文件夹里面否需要写文件上传地址;

   可以在页面上操作一次,然后使用抓包工具或者F12看网络交互的请求和响应得知URL地址、Referer及参数;

web_submit_data("fileupload",

"Action=要上传的URL地址",

"Method=POST",

"EncType=multipart/form-data",

"ReContentType=text/html",

"Referer=依赖的地址",

"Mode=HTML",

ITEMDATA,

"Name=参数名","Value=参数值",ENDITEM,

……

"Name=files[]","Value=上传文件名称",,"File=Yes",ENDITEM,

LAST);

http协议---下载文件:

大概思路:先使用抓包工具或者F12看网络交互的请求和响应,一般是get请求;

   先写出下载的请求函数;

   使用关联函数获取响应内容;

   把内容写入文档中; 

/**

*开始编写脚本

*/

Action()

{

int flen;   //定义一个整型变量,作用保存获得文件的大小

 long fileds;   //作用:保存文件的句柄

char filepath[256]="\0"; //作用:保存文件路径及文件名

char chNumber[256];  //作用:参数化文件名

…… //省略中间录制或者编写的请求及其他,如果省略部分中响应含有下载文件的文件名,可以使用关联函数取到,下文会用,没有则在下载的响应中获取

//开始下载

web_set_max_html_param_len("400000000");  //设置页面接收的最大字,该数值要根据下载文件内容的大小来设置

web_reg_save_param("filecontent","LB=","RB=","SEARCH=BODY",LAST);  //使用关联函数,不设置左右边界,获取下载内容

web_reg_save_param("filename","LB=文件名称左边界","RB=文件名称右边界",“SEARCH=ALL”,LAST); //使用关联函数获取文件名称

web_url("downLoadWord",

"URL=下载地址",

"TargetFrame=",

"Resource=0",

"ReContentType=写抓包Content-Type中的类型",

"Referer=抓包中头文件中找",

"Mode=HTML",

LAST);

lr_output_message("文件内容为:%s",lr_eval_string("{filecontent}"));  //调试脚本时,打印文件内容,看是否有返回内容

strcat(chNumer,lr_eval_string("{P_Random}"));  //strcat是拼接字符串,P_Random是参数化,为了使下载后的文件名不重复

strcat(filepath,"C:\\");  //C:\\这个位置可以存放自己想把文件放在本地的那个位置

strcat(filepath,lr_eval_string("{filename}")); //文件名称,使用关联函数关联回来的那个参数,追加到filepath中

strcat(filepath,".doc");  //追加文档后缀

lr_output_message("文件存放路径是:%s",filepath);  //打印出文件路径

flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);  //获取响应中的文件长度

lr_output_message(“文件长度为:%d”,flen);//打印出文件长度

if(flen > 0)

{

    if((fileds=fopen(filepath,"wb")) == NULL)  //以写的方式打开文件

    {

    lr_output_message("文件操作失败");

    return -1;

    }else{

    fwrite(lr_eval_string("{filepath}"),flen,1,fileds); //写入文件内容

    fclose(fileds);//关闭文件

    }

}

return 0;

}




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值