HttpClient
を使用してServer2Server呼び出しを行っているコードがあります。ここで私はrequest
オブジェクトが適切なドメインに適切に作成されていることを確認した要求HttpClientがドメインの変更要求を変更しています
private void AsyncCallUrl(Uri url, NameValueCollection headers)
{
object result1 = null;
var handler = new HttpClientHandler() { AllowAutoRedirect = false };
using (HttpClient client = new HttpClient(handler))
{
var request = GetRequest(url, headers);
using (HttpResponseMessage response = client.SendAsync(request).Result) // when this line is executed the request object's domain is changed to something else
{
using (HttpContent content = response.Content)
{
result1 = content.ReadAsStringAsync().Result;
}
}
}
を作るために要求
private HttpRequestMessage GetRequest(Uri uri, NameValueCollection headers)
{
var method = HttpMethod.Get;
var request = new HttpRequestMessage(method, uri);
foreach (string v in headers)
{
var success = request.Headers.TryAddWithoutValidation(v, headers[v]);
if (!success)
{
// log something (no logs are appearing)
}
}
return request;
}
コードを作るためにいくつかの簡単なコード
コードです。また、ネットワークトラフィックが間違ったドメインに移動していることを確認しました。request
オブジェクトでも新しい不良ドメインが表示されます。なぜ私はこれが起こっているのか分からない。私はGetAsync
の代わりSendAsync
を使用する場合は、ドメインの変更が起こらないことに注意してください注意点として:私もAllowAutoRedirect
false
にメモを設定しました。しかし、これはヘッダーを追加するための理想的な解決策ではありません.に追加する必要があります。このコードはIISサーバー上に存在し、すべての要求に対して新しいクライアントを作成したくありません。
ドメインとは何ですか?また、DNSエントリ/サーバーなどを制御していますか? –
元のドメインは、私の会社が着信トラフィックを受け入れるために使用するサーバーです(prod.company.comと呼ぶことができます)。ただし、新しい悪いドメインは(dev.anothercompany.com)のようなものです。私たちを買った。おそらくいくつかのIISの設定があるようですか?私はドメインの細目が重要ではなく、変更されているということだけを考えています – sedavidw
'NameValueCollection headers'コレクションに' Host'のエントリが含まれていますか? – spender