C# 如何通过HttpWebRequest访问外部live meeting url

C# 如何通过HttpWebRequest访问外部live meeting url,c#,.net,httpwebrequest,C#,.net,Httpwebrequest,我正在尝试使用Httpwebrequest访问外部live meeting url,并收到未经授权的错误消息。同样的代码在我的本地系统中工作 代码: HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(PostingUrl); CredentialCache CredMCCache = new CredentialCache(); myReq.PreAuthenticate = true;

我正在尝试使用Httpwebrequest访问外部live meeting url,并收到未经授权的错误消息。同样的代码在我的本地系统中工作

代码:

     HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(PostingUrl);
     CredentialCache CredMCCache = new CredentialCache();
        myReq.PreAuthenticate = true;
        CredMCCache.Add(new System.Uri(PostingUrl),"Basic",new    System.Net.NetworkCredential("username","password")
 myReq.Credentials = CredMCCache;
        myReq.KeepAlive = true;
        myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
        myReq.Accept = "*/*";
        myReq.Headers.Add("Accept-Language", "en-us");
        myReq.Headers.Add("Accept-Encoding", "gzip, deflate");
        WebProxy proxyObject = new WebProxy("proxy url with port", false);
        myReq.Proxy = proxyObject;
        myReq.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
        myReq.Method = "GET";
        HttpWebResponse myResp = null;


            // Get the response from the conference center
            myResp = (HttpWebResponse)myReq.GetResponse();

我得到了上面这行的错误。任何指针都会有帮助。

为什么要设置代理,例如

myReq.Proxy=proxyObject

你需要这样做吗?如果您确实要通过公司代理,则不需要为HttpWebRequest设置代理,因为它将从IE获取设置(如果有的话)

其次,您是否尝试使用基本身份验证来与远程服务器进行身份验证?看起来是这样,因此使用此选项在标题中设置AuthenitAction详细信息

string authInfo = userName + ":" + userPassword;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
myReq.Headers["Authorization"] = "Basic " + authInfo;