C# HttpWebResponse标头位置不包括querystring
我有以下代码:C# HttpWebResponse标头位置不包括querystring,c#,asp.net-web-api,C#,Asp.net Web Api,我有以下代码: string getCustomerTokenUrl = "someurl?vi=7&vt=" + encryptedToken + "&DPLF=Y"; HttpWebRequest objRequest = System.Net.HttpWebRequest.Create(getCustomerTokenUrl) as HttpWebRequest; objRequest.AllowAutoRedirect =
string getCustomerTokenUrl = "someurl?vi=7&vt=" + encryptedToken + "&DPLF=Y";
HttpWebRequest objRequest = System.Net.HttpWebRequest.Create(getCustomerTokenUrl) as HttpWebRequest;
objRequest.AllowAutoRedirect = false;
try
{
HttpWebResponse response = objRequest.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.Redirect ||
response.StatusCode == HttpStatusCode.MovedPermanently)
{
Console.WriteLine(response.Headers["location"]);
}
}
catch (System.Net.WebException ex)
{
Console.WriteLine(ex);
}
当我运行代码时,我从location头中得到一个值,但是它缺少一个预期的查询字符串
我得到的是:
http://anotherurl.com/api/SSO/autoSWLLoginCT
如果直接转到getCustomerTokenUrl中存储的url(在响应位置标题中),我在chrome开发者工具中看到的内容:
是否有我配置错误的内容会导致查询字符串被截断?是否正确定位资源?也许
response.RequestUri.Query
只是读取值。response.RequestUri不会引用我存储在getCustomerTokenUrl中的url,不是存储在标题中的位置url?response.ResponseUri.Query
不知道我在使用response.ResponseUri时是如何键入的,它引用了getCustomerTokenUrl的初始url,而不是新的重定向url。感谢您尝试删除req.AllowAutoRedirect=false然后获取响应。ResponseUri
。在我看来,它可能正在更改位置
标题。
http://anotherurl.com/api/SSO/autoSWLLoginCT?ct=dabe6dcd25385b7a77e3a1587cef9e6fee20e7af0952a4691ef2169ef9ec6704367626a647c07473ec2b3c98746b79cc66a646857c85930042a616db69442ca5