HttpWebRequest编程相关问题(8)-完结篇

C#中的HttpContent、HttpClientHandle、HttpWebRequest 类的一个派生类,可以被用来创建一个处理程序链,其中每个处理程序可以处理传入的请求和传出的响应。它提供了一个现代、易于使用且支持异步操作的API,是 .NET Core 和 .NET 5/6 中推荐使用的HTTP客户端。支持各种HTTP功能,包括HTTP头、HTTP方法(如GET、POST、PUT、DELETE等)、身份验证、重定向处理等。负责处理与HTTP请求和响应相关的底层细节,例如网络连接、代理、Cookie、重定向等。是 .NET 中用于发送HTTP请求和接收HTTP响应的类,属于。 阅读详情

从个人经验来看,目前的httpwebrequest不是一个很成熟的类。

最关键的问题是它在处理 Cookies上有些混乱,而Cookies是你访问那些需要认证网页的关键。

总结一下Httpwebrequest编程中主要的问题:

  1. Cookies问题(重中之中);
  2. 浏览器版本问题;
  3. Http头的问题,其中需要注意post的content-type和Http头中是否被加入了不标准的内容(这个问题太隐蔽);
  4. 返回的html数据和浏览器对应的页面html不一致;
  5. 提交数据的编码问题,编码问题很讨厌。由于编码采用了错误方式,我的msn space被封了几个小时;
  6. Hidden问题,有些服务器会写一个hidden到页面,这个Hidden也需要提交回去。

最后友情赠送方法二个:

  1. 获取一个时间值,很多网站使用了这个时间值,对应于javascript中的gettime方法;
  2. MD5加密;
        public static string GetMilliseconds()
        
{
            
double d = DateTime.Now.Subtract(new DateTime(1970, 1, 1, 8, 0, 0)).TotalMilliseconds;
            
return Convert.ToInt64(d).ToString();
        }

        
public static string GetMD5(string str)
        
{
            MD5 md5 
= new MD5CryptoServiceProvider();
            
return BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str))).ToLower().Replace("-", "");
        }
RT-Thread网络编程:基于STM32F407的TCP客户端实现(含完整代码解析) 本文详细介绍了在STM32F407平台上,基于RT-Thread操作系统和LWIP协议栈实现工业级可靠TCP客户端的完整过程。内容涵盖底层ETH驱动配置、Socket编程、连接保活与断线重连机制、数据收发协议设计以及资源管理,提供了可应用于实际项目的健壮代码框架与调试技巧。 阅读详情

相关推荐

Qoder + ADB Supabase :5分钟GET超火AI手办生图APP

本文介绍如何利用Qoder、阿里云 ADB Supabase 和通义千问图像编辑模型,快速构建AI手办生图Flutter应用。无需传统后端,通过AI生成代码、BaaS服务与边缘函数调用,实现从原型到上线的敏捷开发,全流程轻量高效,助力Vibe Coding落地实践。

数据库技术 931

HttpWebRequest编程相关问题(2)

在使用 HttpWebRequest访问需要登陆的页面时必然会涉及到Cookies,但是HttpWebRequest对象和相关方法在设计时还是存在一些问题比如: 访问页面A,得到Cookie o1包含jspsessionid; 把o1给HttpWebRequest然后登陆页面B,得到一个新的Cookies o2,里面包含了很多相关信息; 把o2给HttpWeb

Sean.Pu的专栏 2083

WPS占用C盘空间解决方案与优化技巧

办公软件在长期使用过程中会产生大量缓存和历史文件,这些文件往往隐藏在系统目录中,导致磁盘空间被无声占用。以WPS为例,其版本历史备份、云同步缓存和模板库是主要空间占用源。通过分析文件存储机制,可以定位到具体的缓存路径,如AppData目录下的Kingsoft文件夹。针对这一问题,有效的解决方案包括手动清理、自动化脚本和注册表优化。对于需要持续监控的场景,可以结合PowerShell脚本和任务计划实现自动化管理。在实际应用中,这些技术不仅适用于WPS,也可迁移到其他办公软件的空间优化中,是每位IT运维人员和高

weixin_30788239的博客 458

HttpWebRequest编程相关问题

HttpWebRequest编程相关问题(1)   在HttpWebRequest中,如果你使用了如下代码: HttpWebResponse oResponse = (HttpWebResponse)oRequest.GetResponse(); 那么当你的H

133

Logisim实战:手把手教你设计硬布线版MIPS CPU(多周期/8指令/附电路图)

本文是一份详细的Logisim实战指南,手把手教你设计一个采用硬布线控制的多周期MIPS CPU。文章深入剖析了硬布线控制与微程序控制的核心理念差异,并逐步讲解了从定义执行状态、构建状态跳转逻辑到生成控制信号、集成测试的完整流程,最终实现一个支持8条指令、可运行简单程序的处理器模型。

g9h0i1的博客 592

别再让充电器‘罢工’了!聊聊Charger里VIN-DPM这个不起眼但关键的功能

本文深入探讨了充电IC中的VIN-DPM(输入电压动态电源管理)功能,揭示其如何智能调节充电策略以避免电源适配器过载。通过实际案例和实验室数据,展示了VIN-DPM在提升充电稳定性和效率中的关键作用,并提供了选型、设计和故障排查的实用指南。

weixin_33738578的博客 416

HttpWebRequest编程相关问题(6)

HttpWebRequest编程过程中属性AllowAutoRedirect 一定要设置为true,除非有特别的捕获要求。这个属性是让WebRequest自动完成跳转功能。但是有个非常奇怪的问题,这种跳转有的时候是很奇特的。简单来讲:  访问page1.aspx; 跳转到page2.aspx; 在跳转到page3.aspx;在httpwebre

Sean.Pu的专栏 1461

41-dify案例分享-基于database插件实现Text2sql的数据库查询图表工作流

本文介绍基于 Text2SQL 的 Dify 工作流实现过程。先阐述 Text2SQL 概念、步骤及应用领域。接着说明工作流制作,包括用 chatflow 加开场白、获取系统时间,配置 LLM 生成 SQL,用 SQL Execute 工具查询,经 LLM 汇总结果,代码生成 ECharts 数据,条件分支判断图表类型输出。最后介绍验证测试、提供体验地址,还提及借助工具生成建表和初始化数据 SQL 语句。

个人技术 1万+

HttpWebRequest编程相关问题(1)

在HttpWebRequest中,如果你使用了如下代码:HttpWebResponse oResponse = (HttpWebResponse)oRequest.GetResponse();那么当你的HttpWebRequest访问某个页面时出现500错误,并且执行上面这步时这个时候HttpWebRequest将抛出一个异常WebException,上面这步将不会运行你原本的oR

Sean.Pu的专栏 1793

第21章—技术管理篇(上):身为技术人该怎样带好团队并做好管理者

上节讲了职业规划和学习提升这两个话题,随着职业规划的不断落地,或者自己能力的不断提升,大家也会逐渐被提拔成“职级更高”的人。企业规模扩张时,员工数量也会变多,意味着Boss需要更多的人来辅助管理,而管理者会从外部招聘吗?也许会,但大多企业更喜欢从内部选拔,毕竟人的天性更希望找的人值得信赖。此时,一些能力不错、做事靠谱的老员工,就会被“赶上”管理者的位子。作管理不难,但想要“”就需要一定情商。

运维老生常谈 1366

【推荐100个unity插件】Unity URP(通用渲染管线)的基于物理的天地和预计算大气散射——UnityPhysicallyBasedSkyURP

本文介绍了Unity URP(通用渲染管线)中基于物理的天地和预计算大气散射的实现方法。该插件提供物理天空、大气散射、高度雾效、动态天空反射和环境光等功能,要求Unity 2022.3及以上版本,支持着色器模型3.5+。使用步骤包括:添加渲染器功能、配置Volume组件(天空、雾效等),并建议太阳强度设为3、曝光为0作为初始设置。插件已在GitHub和Gitee开源,附带详细配置截图和效果展示。文末推荐了多个Unity开发相关专栏,涵盖游戏开发全领域知识。作者向宇提供了博客链接,欢迎交流学习问题。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1228

HttpWebRequest编程相关问题(3)

在 "HttpWebRequest编程相关问题(2)"中为了获取到500错误时对于GetResponse使用了try catch方法,代码如下: try            ......{                oResponse = (HttpWebResponse)oRequest.GetResponse();            }            catch (W

Sean.Pu的专栏 1146

CT探测器普遍采用“星形拓扑+多ADC模组”架构的TDC(时间数字转换器)设计方案

本文提出一种基于TDC反馈机制的CT探测器时钟同步方法,通过延时测量、偏差计算和动态补偿三步硬件流水线,实现高精度同步。系统采用Xilinx Kintex UltraScale FPGA内置CARRY8进位链构建3.5ps分辨率的TDC,结合多级比较器和延迟单元,形成闭环反馈控制。实验表明,在512通道、1.28m传输距离下,同步精度稳定在10ps以内,较传统方案提升两个数量级,并能动态补偿干扰抖动。该方案解决了传统方法在CT旋转腔体环境下精度不足的问题,为下一代超高清CT提供了有效的时钟同步解决方案。

whm128的博客 274

HttpWebRequest编程相关问题(4)

第一个问题还是同Cookies相关,同Cookies的存储有很多关系,以优快云为例,可能存在下面两个Cookies1,Domain=".writeblog.youkuaiyun.com" ;2,Domain="writeblog.youkuaiyun.com";值得注意的是这是两个不同的Domain.但是如果两个Cookie的Name一样的话如何办?当然浏览器有自己的办法,我们不去深究,但是我们用Htt

Sean.Pu的专栏 1436

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HttpWebRequest编程相关问题阶段总结

其实我遇到的最大问题是关于Cookes的,而Cookeis中,jspsessid导致的问题和domain导致的问题最严重。所以我就在想是不是apache中的插件导致了jspsessionid的混乱?在asp.net中,当你用到session时,客户端始终只有一个sessionid,始终不变。而jspsessionid 在某些网站站是访问一次变一次。我不熟悉j2ee平台和apache

Sean.Pu的专栏 1008

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C#使用httpwebrequest时导致窗体无响应的问题

本人是一名编程的新手 在C#中,我写了一个爬虫的小功能,做成form窗体程序的过程中遇到一个问题,使用HttpWebRequest和HttpWebResponse的过程中,在运行时总是无端卡死,而且总卡在一个点上,保存了第一个内容,第二个怎么也保存不了,通过了解相关的问题,我发现问题出在http连接数上。 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); WebResponse response = request.GetRes

weixin_43316010的博客 1539

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HttpWebRequest编程相关问题(5)

之前的段落有下面一段代码:string en = oResponse.CharacterSet; if (en == null||en.Length==0) en = "gb2312";if (en.ToLower() == "iso-8859-1") en = "gb2312";StreamReader reader = new StreamReader(dataStream, Enco

Sean.Pu的专栏 1114

HttpWebRequest编程相关问题(7)

在上一节说了由于跳转产生的返回htm数据不是预定数据的问题。这一节继续来说这个问题Request对象有个UserAgent,让你标识浏览器版本,大部分的时候你可以随便写这个参数。但是,有些网站是对浏览器是有要求的,并且完成了对应优化的。比如MSN Space:如果你的浏览器版本不对,那么服务器返回的数据也不一样。甚至有的时候在有些网站还利用javascript写cookies到浏览

Sean.Pu的专栏 1436

HttpWebRequest请求超时的错误

<br />转帖地址:http://www.cnblogs.com/robot/archive/2009/06/10/1500085.html<br /> <br />从网上抓取点数据,其间要创建两个HttpWebRequest,第一个请求发送成功后,将服务端返回的Cookie记录下来给第二个 HttpWebRequest使用.代码敲完了就执行吧,但请求到20次左右,总是会出现"请求超时"的错误,找了N久也没找到问题在哪里. <br />        开始,我以为是服务端限制了请求数量,于是,找了

ct的专栏 7850
上一篇: HttpWebRequest编程相关问题(7)
下一篇: 提供10家博客的开放性搬家服务(包括csdn和cnblogs)
platform
博客等级 码龄26年 1117粉丝 351原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值