win10 uwp 设置 HttpClient 浏览器标识

2022-08-09 16:18:47 浏览数 (1)

最近在使用 smms 图床上传发现需要使用 UserAgent ,不然不会返回值。 所以我就询问了群里大神,他们告诉我需要设置 UserAgent ,本文就是告诉大家如何设置 HttpClient 的浏览器标识

如果使用 HttpClient 上传图片很简单,只需要创建 HttpMultipartFormDataContent ,里面写图片就可以上传。

设置的方法是HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd,请看下面

代码语言:javascript复制
  HttpClient webHttpClient =
                new HttpClient();
           var userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";
            webHttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent);              

这里 userAgent 是从Chrome User Agents拿到,这样就可以了。

如果大家希望知道如何上传图片到 smms ,那么请使用下面代码

代码语言:javascript复制
         string url = "https://sm.ms/api/upload";
            HttpClient webHttpClient =
                new HttpClient();
            HttpMultipartFormDataContent httpMultipartFormDataContent =
                new HttpMultipartFormDataContent();
            var fileContent = new HttpStreamContent(await File.OpenAsync(FileAccessMode.Read));
            fileContent.Headers.Add("Content-Type", "application/octet-stream");

            var userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";
            webHttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(userAgent);

            httpMultipartFormDataContent.Add(fileContent, "smfile", File.Name);
            var str = await webHttpClient.PostAsync(new Uri(url), httpMultipartFormDataContent);
            //这里可以拿到返回的值 str.Content.ToString();

拿到的返回的值就可以转换拿到上传的图片,现在我做了图床,欢迎大家使用

如果需要设置 WebView 的标识,请看win10 uwp 如何让WebView标识win10手机

0 人点赞