c# - C# Httpwebrequest 手动重定向
问题描述
有时在向链接发送请求时,它会自动将我重定向到不需要的页面,因此为了防止这种情况,我尝试创建一个 if 语句进行重定向,但是我正在努力解决多个问题。
代码示例:
发送请求 -
string requestUriString = "https://example.com/page1";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUriString);
得到回应 -
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream stream2 = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream2, Encoding.UTF8))
{
str6 = reader.ReadToEnd();
}
}
return str6;
}
功能
return str6;
将页面内容返回给要处理的原始应用程序。
但是我想为页面重定向实现一个 if 语句,我尝试做的是-
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream stream2 = response.GetResponseStream())
{
if ((int)response.StatusCode >= 300 && (int)response.StatusCode <= 399)
{
string newurl = "https://www.example.com/page2";
request = request = (HttpWebRequest)WebRequest.Create(newurl);
}
using (StreamReader reader = new StreamReader(stream2, Encoding.UTF8))
{
str6 = reader.ReadToEnd();
}
}
return str6;
}
但这似乎不起作用,因为之后
if ((int)response.StatusCode >= 300 && (int)response.StatusCode <= 399)
我需要它继续初始过程,即
using (StreamReader reader = new StreamReader(stream2, Encoding.UTF8))
{
str6 = reader.ReadToEnd();
}
解决方案
推荐阅读
- python - python是否使用其他方法保留注释顺序?
- c++ - 我在使用 mobaXterm 时遇到问题。下面的程序不断收到错误:
- android - 使用 Firebase Auth 在 Android 中获取 refreshToken 属性
- docker - Apache camel:使用 docker 进行测试基础设施
- c - 我需要帮助理解 C 中的头文件
- android - 转到另一个应用程序后如何自动恢复视频?
- c++ - 为什么打印时我的 qForm 变量 -nan
- javascript - discord.js 使用具有权限覆盖的频道创建公会
- aws-cloudwatch-log-insights - CloudWatch 记录见解 strcontains 不起作用
- kql - Kusto:如何扩展动态类型以分隔行而不重复?