setRequestHeader的参数问题(欢迎SupermanKing )

mylajilaji 2008-09-21 10:57:54
我查了资料:setRequestHeader,单独指定请求的某个http头
语法
oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);
参数
bstrHeader
字符串,头名称。
bstrValue
字符串,值。
还是不很明白,
1、XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
CONTENT-TYPE是什么意思,application/x-www-form-urlencoded是什么意思?
2、下面几句setRequestHeader的含义?
setRequestHeader("Content-type", "application/x-www-form-urlencoded");

setRequestHeader("Content-length", paramsSend.length);

setRequestHeader("Connection", "close");


...全文
1743 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mylajilaji 2008-09-22
  • 打赏
  • 举报
回复
SupermanKing 大侠,下面的代码不明白

Set mExcel = CreateObject("Excel.Application")
mExcel.Workbooks.Add
Set mExcelBook = mExcel.Workbooks(mExcel.Workbooks.Count) 不明白
mExcel.DisplayAlerts = False
For I = 1 To mExcelBook.Sheets.Count - 1 不明白
Set mExcelSheet = mExcelBook.Sheets(mExcelBook.Sheets.Count) 不明白
mExcelSheet.Delete 不明白
Next 不明白
Set mExcelSheet = mExcelBook.Sheets(mExcelBook.Sheets.Count) 不明白
mExcelSheet.Name = "资产负债表(新准则)"
mylajilaji 2008-09-22
  • 打赏
  • 举报
回复
可否通过下面的源程序,数出空格来?1,242,158,980与“主编信箱”的主“字”之间,有多少个空格?
以后,我需要分析网页,如果编程后,用字符串函数,一个一个地测试,太浪费时间,也不专业,可否再赐教一些知识。
1、</div> 可定义文档中的分区或节(division/section)
2、<!--...--> 是注释

<td>1,242,158,980</td>
</tr>
</table>

</div>
</div></td>
</tr>
</table>
</div>
<!-- insert main col list 2 3 -->

</div>
<div class="clear"></div>
</div>

<div id="np" style="display: none;"></div>
<div id="wp" style="display: none;"></div>
<div id="gghq" style="display: none;"></div>
<div id="bbs" style="display: none;"></div>
<div id="scss" style="display: none;"></div>
<div id="wp" style="display: none;"></div>
<div id="zxgx" style="display: none;"></div>
<div id="zgb" style="display: none;"></div>
<div id="ltag" style="display: none;"></div>
<div id="zyysr" style="display: none;"></div>
<div id="jly" style="display: none;"></div>
<div id="mghl" style="display: none;"></div>
<div id="mgjzc" style="display: none;"></div>
<div id="zqsy" style="display: none;"></div>
<div id="ndsy" style="display: none;"></div>
<div id="t1" style="display: none;"></div>
<div id="t3" style="display: none;"></div>

<div class="blank9"></div>
<!-- 页脚 -->
<div class="foot960">
<div class="foot">
<div class="text"><a
href="http://post.news.163.com/msg/zhubian_finance.jsp">主编信箱</a>
mylajilaji 2008-09-22
  • 打赏
  • 举报
回复
大侠我测试过了,应该是Mid(DataInfo, S, E - S - 6),我利用字符串函数一个一个的测试了。
现在还是人类 2008-09-22
  • 打赏
  • 举报
回复

Set mExcelBook = mExcel.Workbooks(mExcel.Workbooks.Count) '创建Excel工作簿对象
mExcel.DisplayAlerts = False
For I = 1 To mExcelBook.Sheets.Count - 1 '循环Excel工作簿数量-1,就是保留一个
Set mExcelSheet = mExcelBook.Sheets(mExcelBook.Sheets.Count) '设置对象到一个独立的对象中
mExcelSheet.Delete '删除当前这个Excel工作簿
Next '循环语句你不会看不懂吧
Set mExcelSheet = mExcelBook.Sheets(mExcelBook.Sheets.Count) '把剩余的Excel工作簿对象赋值到独立的对象中
mExcelSheet.Name = "资产负债表(新准则)" '设置这个剩余的Excel工作簿的标题

因为默认创建的Excel文件都包含三个工作簿,所以我就删除掉两个没用的东西,呵呵
现在还是人类 2008-09-21
  • 打赏
  • 举报
回复
...">主编信箱 </a>...
前面没有空格,后面有一个

如果说你通过HTML代码提取出来的纯文本带空格那就难说了
mylajilaji 2008-09-21
  • 打赏
  • 举报
回复
</div>

<div id="np" style="display: none;"></div>
<div id="wp" style="display: none;"></div>
<div id="gghq" style="display: none;"></div>
<div id="bbs" style="display: none;"></div>
<div id="scss" style="display: none;"></div>
<div id="wp" style="display: none;"></div>
<div id="zxgx" style="display: none;"></div>
<div id="zgb" style="display: none;"></div>
<div id="ltag" style="display: none;"></div>
<div id="zyysr" style="display: none;"></div>
<div id="jly" style="display: none;"></div>
<div id="mghl" style="display: none;"></div>
<div id="mgjzc" style="display: none;"></div>
<div id="zqsy" style="display: none;"></div>
<div id="ndsy" style="display: none;"></div>
<div id="t1" style="display: none;"></div>
<div id="t3" style="display: none;"></div>

<div class="blank9"></div>
<!-- 页脚 -->
<div class="foot960">
<div class="foot">
<div class="text"><a
href="http://post.news.163.com/msg/zhubian_finance.jsp">主编信箱</a>

请问大侠,上面的源文件代码,表明主编信箱前面有两个空格的符号,在哪里可以看出来?
现在还是人类 2008-09-21
  • 打赏
  • 举报
回复
二楼问题:
是因为我取出来的文档位置是在两个换行符号后面,一个换行符号是以两个字节存储的
而两个换行符号当然就是4个字符,所以-4
现在还是人类 2008-09-21
  • 打赏
  • 举报
回复
通常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,
告诉服务器客户端要下载什么信息以及相关的参数,如:

GET /bb.asp?www=1234 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: www.e4j.cn:89
Connection: Keep-Alive
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII


而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。
但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了
setRequestHeader 方法。

就比如如果上面这段HTTP头文件内容是 XMLHTTP 提交默认的情况,当使用 setRequestHeader 方法后就这样,如:
XMLObject.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
setRequestHeader "Connection", "close"
这时HTTP头信息就应该是这样了:

GET /bb.asp?www=1234 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
CONTENT-TYPE:application/x-www-form-urlencoded
Host: www.e4j.cn:89
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已,
至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错
如:
setRequestHeader "MyName", "Supermanking"

虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有
MyName: Supermanking
信息,可根据你的需求来做处理

还有,CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式
是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示

当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data
至于:Content-length 就是表示提交的数据字节大小
http有几种提交方式,其中比较常用的就是 GET 和 POST

这个标志就放在HTTP头开头的地方,这样讲容易理解点
GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的.
GET 传参数的方式就是通过虚拟地址传送,如:
GET /bb.asp?www=1234 HTTP/1.1
参数全部就只有 "www=1234" 这么多

如果用POST的话就有些不同,POST是将参数放到HTTP后面的,就以上面的HTTP作范例,用POST的方法传参数

POST /bb.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
CONTENT-TYPE:application/x-www-form-urlencoded
Host: www.e4j.cn:89
Content-length: 8
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

www=1234

这时,数据就需要说明字节大小了

至于 Connection: Close,很明显英文的意思是 连接:关闭
只是客户端在提交数据时告诉服务器让谁先关闭连接而已。

如果你想了解更多有关HTTP协议的东西可以找RFC文档看看
mylajilaji 2008-09-21
  • 打赏
  • 举报
回复
SupermanKing: DataInfo = Mid(DataInfo, S, E - S - 4)为何不是 DataInfo = Mid(DataInfo, S, E - S - 1)?
内容概要:本文聚焦于高维多阶段随机规划问题,深入研究了正则化分解方法与马尔可夫过程在刻画不确定性动态演化中的应用,并提供了完整的Python代码实现。通过引入正则化技术有效降低了高维随机优化问题的计算复杂度,结合马尔可夫链建模多阶段决策过程中的不确定性传播机制,提升了模型在复杂动态环境下的求解效率与鲁棒性。研究涵盖了问题建模、算法设计、数值求解及结果分析全过程,具有较强的理论深度与工程实践价值; 适合人群:具备一定运筹学、优化理论基础及Python编程能力,从事智能决策、人工智能、能源系统优化、金融工程等相关领域的科研人员、高校研究生以及工业界研发工程师; 使用场景及目标:①应用于电力系统调度、供应链管理、金融资产配置等存在多阶段不确定性的复杂决策场景;②掌握高维随机规划的建模思路与高效求解技术,深入理解正则化方法与马尔可夫过程在实际优化算法中的融合机制与实现路径; 阅读建议:建议结合提供的Python代码进行动手实践,重点关注算法实现细节、参数敏感性分析与收敛性验证,鼓励在不同应用场景中迁移和改进该方法,进一步探索其在分布鲁棒优化、动态规划等前沿方向的扩展潜力。
内容概要:本文系统研究了离散时间线性系统中基于共识的分布式滤波器的稳定性与最优性问题,深入探讨了KF(卡尔曼滤波)、DKF(分布式卡尔曼滤波)、SMDKF(基于平方根的最大熵分布式卡尔曼滤波)、CI(协方差交叉)、ICF(信息共识滤波)和HCMCI(基于高阶交叉协方差的信息融合)等多种滤波算法的理论基础、数学推导与实现机制。通过Matlab平台构建多传感器网络仿真环境,实现了各类算法在不同噪声统计特性和通信拓扑结构下的状态估计仿真,重点分析了各算法在估计精度、收敛速度、鲁棒性及一致性方面的性能差异,并对融合策略中的协方差传播、信息权重分配与共识迭代过程进行了细致对比,旨在为复杂环境下多智能体系统的分布式状态估计提供可复现的技术方案与理论支撑。; 适合人群:具备控制理论、信号处理、线性系统理论及Matlab编程基础的研究生、科研人员,以及从事多传感器融合、分布式估计算法开发、无人系统导航与智能电网监控等领域的工程技术人员。; 使用场景及目标:① 掌握主流分布式滤波算法的核心思想与数学建模方法;② 在多节点传感网络中实现高效可靠的状态估计;③ 对比分析不同共识融合策略在非理想通信条件下的性能表现;④ 支持学术论文复现、算法改进与工程化验证,服务于科研创新与系统优化设计。; 阅读建议:建议结合Matlab代码逐模块解析算法实现流程,重点关注状态预测、局部更新、信息融合与一致性达成的关键步骤;可通过调整系统噪声、观测噪声、网络连接拓扑等参数开展扩展性仿真实验,深入理解算法的稳定边界与最优性条件,进一步探索其在实际应用场景中的适应性与改进空间。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧