c# – 如何在运行时使用refit设置User-Agent?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何在运行时使用refit设置User-Agent?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1082字,纯文字阅读大概需要2分钟。
内容图文
![c# – 如何在运行时使用refit设置User-Agent?](/upload/InfoBanner/zyjiaocheng/818/27d0dbccac504dcdbbb7f541a70381aa.jpg)
如果我的用户代理是一个常量字符串,我可以使用[Headers(“User-Agent:Awesome Octocat App”)]进行设置.
但是,我的用户代理是由方法生成的(因为它包含设备和操作系统版本),这意味着我无法将其放在Headers属性中.
另一个提到的方法是动态标题部分中描述的,它不是最优的,因为这是我的全局标题.我宁愿不手动将此标头添加到60 API方法中.
我该怎么做呢?它是受支持的场景吗?
使用自定义HttpClient是可接受的解决方案(如果可能).
如果您知道任何可能符合我目的的产品,我也会对其他类似产品持开放态度.
解决方法:
要在运行时设置默认标头,可以使用HttpClient实例上的DefaultRequestHeaders属性.
这样的东西会起作用:
// This example uses http://httpbin.org/user-agent,
// which just echoes back the user agent from the request.
var httpClient = new HttpClient
{
BaseAddress = new Uri("http://httpbin.org"),
DefaultRequestHeaders = {{"User-Agent", "Refit"}}
};
var service = RestService.For<IUserAgentExample>(httpClient);
var result = await service.GetUserAgent(); // result["user-agent"] == "Refit"
// Assuming this interface
public interface IUserAgentExample
{
[Get("/user-agent")]
Task<Dictionary<string, string>> GetUserAgent();
}
内容总结
以上是互联网集市为您收集整理的c# – 如何在运行时使用refit设置User-Agent?全部内容,希望文章能够帮你解决c# – 如何在运行时使用refit设置User-Agent?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。