解决方案
HTTP / 1.1协议定义了100(继续)状态,它允许客户端在发送消息正文之前检查服务器是否愿意接受请求。该过程如下:
- 客户端希望向服务器发送请求消息。
- 客户端发送一个包含
Expect: 100-continue
的请求标头。 - 服务器发回
100 (Continue)
或417 (Expectation Failed)
状态。
100 (Continue)
表示服务器接受请求,客户端可以继续发送请求正文。417 (Expectation Failed)
表示服务器拒绝该请求。
在“
HTTP客户端选项板”中使用某些HTTP方法时,如消息长度为1024个字符或更长,LabVIEW将自动在请求头中添加“
100 - continue
期望值”。如果服务器始终以
417 (Expectation Failed)
响应,或者不知道如何正确响应
417 (Expectation Failed)
则可能导致问题。
由于HTTP客户端功能不提供禁用
100 - continue
的选项
100 - continue
处理更长的消息(1024个以上的字符),因此解决方案是从头开始创建一个HTTP请求标头,将其排除在外。 HTTP方法的标准在
W3C HTTP协议说明中定义。
下面的代码片段演示了一个示例,该示例使用基本功能和
TCP Palette中的功能来实现
HTTP POST
方法。为HTTP请求编写字符串时,请将字符串显示样式设置为
反斜杠(\)代码。这使您可以校对不可显示的字符,这是正确终止命令所必需的。
从字符串常量或字符串控件:
- 右键单击»“ \”代码显示,或
- 右键单击»属性»显示样式:反斜杠(\)代码
注意:该图像是LabVIEW片段,其中包含可在项目中重复使用的LabVIEW代码。要使用代码段,请右键单击图像,将其保存到计算机,然后将文件拖到LabVIEW图表上。
注意:该图像是LabVIEW片段,其中包含可在项目中重复使用的LabVIEW代码。要使用代码段,请右键单击图像,将其保存到计算机,然后将文件拖到LabVIEW图表上。