我使用旧项目并拥有以下内容:
System.getProperties().put("http.proxyHost", proxyHost);
此行是否更改了系统属性http.proxyHost?
答案 0 :(得分:1)
它不会更改程序之外的系统属性。
System.getProperties()
会返回Properties
个对象。每次调用getProperties()
方法都会返回相同的对象。
但您可以在此对象中添加或覆盖属性,这可以通过调用put
来完成。
因此,在您的程序中,System.getProperties().get("http.proxyHost")
返回的值会更改。
答案 1 :(得分:0)
您的代码只会从System.getProperties()调用中修改返回的对象。 但似乎下一个调用者使用相同的属性对象。所以,答案是肯定的。
答案 2 :(得分:0)
是的,它有效:
Task.Run(() =>
{
var request = new HttpRequestMessage(HttpMethod.Post, "EndPointURL");
request.Headers.Authorization = new AuthenticationHeaderValue("???", "???");
request.Headers.Add("BatchId", "25");
request.Headers.Add("UserName", "ABC");
var client = new HttpClient();
client.SendAsync(request);
});
// do stuff