甲方需求要通过https实时下载某个合作网站(有账号和密码)的数据。

直接访问如下提示:需要进行身份验证。

 

不知道这种方式的验证叫什么,但找到了解决方案。 可以用WebClient来进行处理。

1.实现ICredentials接口

 

 public class MyCredentials : ICredentials
    {
        public NetworkCredential GetCredential(Uri uri, string authType)
        {
            NetworkCredential newCred = new NetworkCredential("username", "password");
            return newCred;
        }
    }

  

2.使用WebClient

 

using (var client = new WebClient())
            {
                client.Credentials = new MyCredentials();

                var datas = client.DownloadData("https://www.xxx.com/wifs/data/PNG/");

                var str = Encoding.Default.GetString(datas);
                return str;
            }

  

 

以上亲测可用抓取到html页面。

 

转载于:https://www.cnblogs.com/saving/p/7609616.html

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐