The remote server returned an error: (302) Found.
The remote server returned an error: (302) Found.
报302错误的原因:请求的路径存在重定向。 但是我这个方法依然解决不了这个问题,于是我怀疑对方的跳转方式是否有问题, 我怀疑对方是不是用的JAVA的重定向方法是否有问题
JAVA的两种重定向方法
总结: 重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
** 若有大佬路过还请留言解惑**
我的方法走到HttpWebResponse response = (HttpWebResponse)request.GetResponse();这里就直接异常了。报的就是 The remote server returned an error: (302) Found.。
我使用的方法(C# .net Core 3.1)
public static string HttpGet(string Url, Dictionary<String, object> parames, string cookie = null, bool isencode = false)
{
String postDataStr = buildParamStr(parames);
if (isencode)
{
//postDataStr = System.Web.HttpUtility.UrlEncode(postDataStr);
}
string serviceAddress = Url + "?" + postDataStr;
try
{
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create(serviceAddress);
request.Method = "GET";//GET请求的方式
request.ContentType = "application/x-www-form-urlencoded";//编码格式以及请求类型,这行代码很关键,不设置ContentType将可能导致后台参数获取不到值
if (serviceAddress.ToLower().Trim().StartsWith("https"))
{
//证书问题
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
//request.KeepAlive = false;
//request.ProtocolVersion = HttpVersion.Version10;
}
request.Credentials = CredentialCache.DefaultCredentials;
request.AllowAutoRedirect = true;//允许请求重定向
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream,
Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;//返回链接字符串
}
catch (Exception ex)
{
return "";
}
}
