二、java user协议
  使用java user协议更简单,是直接使用java编写一段从指定链接下载文件的脚本即可;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import lrapi.lr;
public class Actions {
public int init() throws Throwable
{
return 0;
}//end of init
public int action() throws Throwable
{
int DownLoadSize = 0;
String path = "c:\temp\";  //设置下载文件保存路径
String vuid = String.valueOf(lr.get_vuser_id()); //获取当前虚拟用户ID并转换成字符串
DownLoadSize = UrlTools.getHttpFileByUrl("http://forum.ubuntu.org.cn/download/file.php?id=129973&sid=78fc8d76767ef49b606595824ceb963d",vuid,path); //调用UrlTools.getHttpFileByUrl()
return 0;
}//end of action
public int end() throws Throwable
{
return 0;
}//end of end }
class UrlTools
{
public static int getHttpFileByUrl(String address,String userid,String path)
{
//定义下面需要用到的变量
URL url;
URLConnection conn = null;
int BUFF_SIZE = 1024;
byte[] buf = new byte[BUFF_SIZE];
int DownLoadSize = 0;
BufferedInputStream bis;
FileOutputStream fos = null;
int size = 0;
try
{
url = new URL(address); //address为传递进来需要下载的链接
conn =  url.openConnection();//使用url实例化需要下载的链接
bis = new BufferedInputStream(conn.getInputStream()); //把需要下载的文件内容保存在bis这个输入流中
fos = new FileOutputStream(path+""+userid+"test000001"+“.pdf”));//组成完整路径,并实例化到输出流,这里可以进行参数化,如参数化文件名, // 路径需要事先手动创建好,当然你也可以在脚本中创建实现不同的路径
System.out.println("需要下载的文件大小为:" + conn.getContentLength()/1024 + "k");
while((size = bis.read(buf)) != -1)   #按照设置的buf大小写文件并记录下载的大小
{
fos.write(buf,0,size);
DownLoadSize = DownLoadSize+size;
}
bis.close();
fos.close();
System.out.println("用户" + userid + "下载" + url +"完成!");
}catch(MalformedURLException e)
{
System.out.println("下载发生异常:");
e.printStackTrace();
}catch(IOException e)
{
System.out.println("下载发生异常:");
e.printStackTrace();         }
return DownLoadSize/1024;
}
}