Cookie域无效C#

时间:2013-03-13 18:05:06

标签: c# .net cookies

我根据VB.net程序(.net 3.5)请求第三方Web服务并编写C#代码(.net 4.0)。我几乎完全复制命令,但无论我将哪些域添加到我的cookie中,它都不起作用,并且当我将cookie添加到容器时总是给我错误。

Cookie的'Domain'='https://secure.uat.globallink.com/gtss/service/FileWebService'部分无效。

VB.net程序可以正常使用此代码并在生产中使用。我不知道为什么会这样。 .add方法在3.5和4.0之间是相同的,我尝试了这个BugFix_CookieDomain代码,它在互联网上漂浮着,没有任何帮助(我只有这一个cookie)。我还尝试添加一个没有运气的URI字段,并将域名更改为“https://secure.uat.globallink.com”,但没有任何效果。请帮助,我觉得我在这里有点疯狂。谢谢!

C#

 GTSSWebService.FxWebService wsDL = new GTSSWebService.FxWebService();

                wsDL.Credentials = new NetworkCredential(connectionCreds, Settings.mySettings.GTSSPassword);
                wsDL.CookieContainer = new CookieContainer();


                wsDL.Url = "https://secure.uat.globallink.com/gtss/service/FxWebService";
                Cookie gtssConnCookie = new Cookie("SMCHALLENGE", "YES");
                gtssConnCookie.Domain = "https://secure.uat.globallink.com/gtss/service/FileWebService";
                wsDL.CookieContainer.Add(gtssConnCookie);

VB

Dim wsDL As New GTSSWebService.FxWebService

            wsDL.Credentials = New System.Net.NetworkCredential(sCreds, Settings.DefaultSettings.PW)
            wsDL.CookieContainer = New System.Net.CookieContainer

            If Settings.DefaultSettings.ConnectLTS Then
                wsDL.Url = "http://" & Settings.DefaultSettings.LTSIP & "/gtss/service/FxWebService"
            Else
                wsDL.Url = Settings.DefaultSettings.GTSSURL.Replace("/FileWebService", "/FxWebService")
                Dim GTSSConnectionCookie As New Cookie("SMCHALLENGE", "YES")
                GTSSConnectionCookie.Domain = Settings.DefaultSettings.GTSSURL
                wsDL.CookieContainer.Add(GTSSConnectionCookie)

注意 - Settings.DefaultSettings.GTSSURL ==“https://secure.uat.globallink.com/gtss/service/FileWebService

1 个答案:

答案 0 :(得分:1)

对于没有https:// Dang的域名,C#想要“secure.uat.globallink.com”