2013-08-07 84 views
0

我必须在登录到网站后将文件上传到网站,并执行几个需要自动执行的命令。以下是网站的详细步骤。如何使用shell/java将文件上传到网站

  1. www.example.com> ..
  2. 输入用户名,密码..
  3. 点击 '上传' 按钮..
  4. 等待5分钟/直到出现处理文件..
  5. 下载处理文件。

那么,请帮助我的例子。如何用JAVA/Shell /任何其他脚本执行上述任务。

+0

你能告诉我们一些你已经尝试过的东西,并解释它为什么不起作用吗?请参阅[on-topic](http://stackoverflow.com/help/on-topic)上的内容。 – mthmulders

+0

如果你想在Java中做到这一点,URLConnection是一个很好的起点(http://docs.oracle.com/javase/6/docs/api/java/net/URLConnection.html)。 –

+0

以前我使用的是由某人开发的Jmeter,它停止工作。所以,我想找到另一种方式来做到这一点。顺便说一句,现在我正在为大约20个文件手动完成所有这些工作。因为,我是一个新手,我没有Idea来自动化这个。这就是为什么要求一个可能帮助我做到这一点的相关示例。 –

回答

0

你或许可以使用pyton脚本相同,如下所示: 下面的脚本由我写的登录到其使用cookies以及Facebook的 进口http.cookiejar 进口的urllib

url = 'https://site.com/login.php' 
values = {'email' : '[email protected]', 
    'pass' : 'mypassword' } 

data = urllib.parse.urlencode(values) 
cookies = http.cookiejar.CookieJar() 

opener = urllib.request.build_opener(
urllib.request.HTTPRedirectHandler(), 
urllib.request.HTTPHandler(debuglevel=0), 
urllib.request.HTTPSHandler(debuglevel=0), 
urllib.request.HTTPCookieProcessor(cookies)) 

binary_data = data.encode('ascii') 
response = opener.open(url, binary_data) 
the_page = response.read() 
http_headers = response.info() 

这里电子邮件和通行证是您可以从网站获得的输入。

注意:并非所有的网站都允许你这样登录。

现在请参阅python docs上传/下载。其中之一是http://webpython.codepoint.net/cgi_file_upload