小编Ram*_*Ram的帖子

Uri忽略特殊字符

我有一个代表网址的字符串,我想通过c#下载内容

我的网址包含从右到左标记从左到右标记%E2%80%8F和%E2%80%8E.

当我在浏览器中粘贴网址时,我可以显示该文件.当我在.net中使用代码时,我得到一个错误(因为.net忽略那些标记并且不会在请求中发送它们.

这是我得到的查询字符串

/ MBA%20%281%29 /%D7%90%D7%A1%D7%98%D7%A8%D7%98%D7%92%D7%99%D7%94%20%D7%A2%D7% A1%D7%A7%D7%99%D7%AA%20%D7%AA%D7%97%D7%A8%D7%95%D7%AA%D7%99%D7%AA%20%28%E2% 80%8F%EF%BB%BF13015%E2%80%8E%29%E2%80%8F /%D7%93%D7%A4%D7%99%20%D7%A0%D7%95%D7%A1 %D7%97%D7%90%D7%95%D7%AA%20%D7%9C%D7%9E%D7%91%D7%97%D7%9F /%D7%90%D7%A1%D7% 98%D7%A8%D7%98%D7%92%D7%99%D7%94%20%D7%93%D7%A3%20%D7%A0%D7%95%D7%A1%D7%97% D7%90%D7%95%D7%AA-2%20%D7%A2%D7%9E-%203%20%D7%A2%D7%9E%D7%95%D7%93%D7%95%D7 %AA%20%D7%9C%D7%A8%D7%95%D7%97%D7%91.pdf

使用小提琴我可以.net发送

/ MBA%20(1)/%D7%90%D7%A1%D7%98%D7%A8%D7%98%D7%92%D7%99%D7%94%20%D7%A2%D7%A1 %D7%A7%D7%99%D7%AA%20%D7%AA%D7%97%D7%A8%D7%95%D7%AA%D7%99%D7%AA%20(%EF%BB% BF13015)/%D7%93%D7%A4%D7%99%20%D7%A0%D7%95%D7%A1%D7%97%D7%90%D7%95%D7%AA%20%D7% 9C%D7%9E%D7%91%D7%97%D7%9F /%D7%90%D7%A1%D7%98%D7%A8%D7%98%D7%92%D7%99%D7%94 %20%D7%93%D7%A3%20%D7%A0%D7%95%D7%A1%D7%97%D7%90%D7%95%D7%AA-2%20%D7%A2%D7 %9E-%203%20%D7%A2%D7%9E%D7%95%D7%93%D7%95%D7%AA%20%D7%9C%D7%A8%D7%95%D7%97% D7%91.pdf

你会注意到标记消失了.

任何想法如何解决?

这里有一些代码:var s =" https://dl.dropboxusercontent.com/1/view/4fsaouo0ob52xkz/MBA%20%281%29/%D7%90%D7%A1%D7%98%D7%A8%D7 %98%D7%92%D7%99%D7%94%20%D7%A2%D7%A1%D7%A7%D7%99%D7%AA%20%D7%AA%D7%97%D7%A8 %D7%95%D7%AA%D7%99%D7%AA%20%28%E2%80%8F%EF%BB%BF13015%E2%80%8E%29%E2%80%8F /%D7% 93%D7%A4%D7%99%20%D7%A0%D7%95%D7%A1%D7%97%D7%90%D7%95%D7%AA%20%D7%9C%D7%9E% D7%91%D7%97%D7%9F /%D7%90%D7%A1%D7%98%D7%A8%D7%98%D7%92%D7%99%D7%94%20%D7%93 %D7%A3%20%D7%A0%D7%95%D7%A1%D7%97%D7%90%D7%95%D7%AA-2%20%D7%A2%D7%9E-%203% 20%D7%A2%D7%9E%D7%95%D7%93%D7%95%D7%AA%20%D7%9C%D7%A8%D7%95%D7%97%D7%91.pdf " ;

        using (HttpClient client = new HttpClient())
        {

            using (var sr = client.GetAsync(s).Result)
            {
                Console.WriteLine(sr.Headers);
            }

        }
Run Code Online (Sandbox Code Playgroud)

我尝试手动创建uri并将其传递给httpClient - 保存结果.sr - 得到403错误代码而不是200(我提供的链接无效但最终结果是相同的).

.net c# .net-4.5

5
推荐指数
1
解决办法
701
查看次数

ios 谷歌登录未获得个人资料范围

我不久前在我的应用程序上实现了谷歌登录。一切正常。我请求谷歌个人资料和电子邮件范围,并在使用我在应用程序中收到的令牌调用https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=时,我得到了用户个人资料。

今天我运行代码,我得到了没有个人资料的令牌,只有电子邮件和电子邮件经过验证。通过 android 和通过 web 返回与个人资料登录。唯一的问题是ios。我还可以看到 ios 中的 idtoken 比我通过 android/web 收到的要小

 GIDSignIn.sharedInstance().delegate = self
    GIDSignIn.sharedInstance().uiDelegate = self
    GIDSignIn.sharedInstance().clientID = kClientId

    GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/plus.login")
    GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/plus.me")

    GIDSignIn.sharedInstance().signInSilently()
Run Code Online (Sandbox Code Playgroud)

ios swift google-signin

4
推荐指数
1
解决办法
2013
查看次数

标签 统计

.net ×1

.net-4.5 ×1

c# ×1

google-signin ×1

ios ×1

swift ×1