http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4734|回复: 7

[综合] C# Web service 无法获取到数据,求帮忙

[复制链接]
发表于 2014-3-12 09:52:14 | 显示全部楼层 |阅读模式
各位大侠,上午好,web service 无法获取数据,麻烦帮忙看看,谢谢。
public int PostRequest(string Url, string user, string pwd, string paramData, Encoding MsgEncode)
        {
            if (string.IsNullOrEmpty(Url))
            {
                throw new ArgumentNullException("Url");
            }
            if (MsgEncode == null)
            {
                throw new ArgumentNullException("MsgEncoding");
            }

            string username = user;
            string password = pwd;
            string usernamePassword = username + ":" + password;
            CredentialCache mycache = new CredentialCache();
            mycache.Add(new Uri(Url), "Digest", new NetworkCredential(username, password));
            ServicePointManager.ServerCertificateValidationCallback
                       += RemoteCertificateValidate;   //自動回覆證書
            HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(Url);
            Request.Credentials = mycache;
            Request.Headers.Add("Authorization", "Digest" + Convert.ToBase64String(MsgEncode.GetBytes(usernamePassword)));

            Request.Method = "POST";
            //Request.Timeout = 1000;  
            Request.ContentType = "application/x-www-form-urlencoded";
            string temp_paramData = "json = " + System.Web.HttpUtility.UrlEncode(paramData);
            byte[] byteArray = MsgEncode.GetBytes(temp_paramData);
            Request.ContentLength = byteArray.Length;
            Request.UseDefaultCredentials = false;

            HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(new Uri(Url));
            HttpWebResponse webreponse = (HttpWebResponse)webrequest.GetResponse();   ---出现数据流错误
            Stream stream = webreponse.GetResponseStream();
            byte[] rsByte = new Byte[webreponse.ContentLength];
            string  aa = System.Text.Encoding.UTF8.GetString(rsByte, 0, rsByte.Length).ToString();
            Response.Write(aa);




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-3-12 10:15:38 | 显示全部楼层
网址是什么,或者你提供下抓包信息,建议使用我的Httphelper类http://www.sufeinet.com/thread-3-1-1.html
 楼主| 发表于 2014-3-12 16:46:28 | 显示全部楼层
本帖最后由 mingc_mis 于 2014-3-12 16:52 编辑

您好,不好意思,因是要读取客户的地址,有用户名和密码,不方便透露,不好意思,看起来是我认证的问题,麻烦可以告诉我怎么针对https的网址进行密码认证吗?

系统弹出的登录窗口

系统弹出的登录窗口
 楼主| 发表于 2014-3-20 10:03:52 | 显示全部楼层
本帖最后由 mingc_mis 于 2014-3-20 10:06 编辑

飞哥,已经将要验证的url ,用户名和密码等信息用内部消息发送给您,帮忙指导一下,谢谢。
发表于 2014-3-20 11:02:00 | 显示全部楼层
你这个是Webservice你为什么不直接引用啊,多方便,这样不太好处理,我建议你直接引用来做,这样实现太费劲了
 楼主| 发表于 2014-3-20 11:51:05 | 显示全部楼层
飞哥,您提供类,没有function是验证用户名和密码,我们要验证的用户名和密码不是验证Proxy服务器,是验证客户提供的用户名和密码,再麻烦指点,谢谢。
 楼主| 发表于 2014-3-20 11:58:48 | 显示全部楼层
飞哥,您好,您提供的类,并没有提供验证用户名和密码的模块,而这也是目前遇到的问题,所以请教您看怎么去验证? 验证好了,直接引用您提供的类,实现起来就非常快了,谢谢。
验证用户名和密码的方式如下图

密码验证样式

密码验证样式
 楼主| 发表于 2014-3-21 16:20:53 | 显示全部楼层
解決了,謝謝.
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 12:57

© 2014-2021

快速回复 返回顶部 返回列表