当前位置:  开发笔记 > 编程语言 > 正文

使用PhantomJS下载文件

如何解决《使用PhantomJS下载文件》经验,为你挑选了1个好方法。



1> Leon Barkan..:

好的,你需要做的是:

    当您单击html中的文件时,您需要找到该文件的链接.

    你需要获取链接并使httpRequest获取文件.

这是请求的全部功能(我为您提供方便,只需找到链接)

public static bool DownloadFile(string url, IWebDriver driver)
        {
            try
            {
                // Construct HTTP request to get the file
                HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
                httpRequest.CookieContainer = new System.Net.CookieContainer();

                for (int i = 0; i < driver.Manage().Cookies.AllCookies.Count - 1; i++)
                {
                    System.Net.Cookie ck = new System.Net.Cookie(driver.Manage().Cookies.AllCookies[i].Name, driver.Manage().Cookies.AllCookies[i].Value, driver.Manage().Cookies.AllCookies[i].Path, driver.Manage().Cookies.AllCookies[i].Domain);
                    httpRequest.CookieContainer.Add(ck);
                }

                httpRequest.Accept = "text/html, application/xhtml+xml, */*";
                httpRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";

                //HttpStatusCode responseStatus;

                // Get back the HTTP response for web server
                HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                Stream httpResponseStream = httpResponse.GetResponseStream();

                // Define buffer and buffer size
                int bufferSize = 1024;
                byte[] buffer = new byte[bufferSize];
                int bytesRead = 0;

                // Read from response and write to file
                FileStream fileStream = File.Create(FilePath + "\\" + FileName + ".xls");
                while ((bytesRead = httpResponseStream.Read(buffer, 0, bufferSize)) != 0)
                {
                    fileStream.Write(buffer, 0, bytesRead);
                }

                return true;
            }
            catch (Exception ex)
            {
               return false;
            }
        }

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有