解決方案
HTTP / 1.1協議定義了100 (繼續) 狀態,它允許客戶端在發送訊息正文之前檢查服務器是否願意接受請求。該過程如下:
- 客戶端希望向伺服器發送請求訊息。
- 客戶端發送一個包含
Expect: 100-continue
的請求標頭。 - 伺服器發回
100 (Continue)
或417 (Expectation Failed)
狀態。
100 (Continue)
表示服務器接受請求,客戶端可以繼續發送請求正文。417 (Expectation Failed)
表示伺服器拒絕該請求。
在
“HTTP Client Palette”中使用某些HTTP方法時,如訊息長度為1024個字元或更長,LabVIEW將自動在請求頭中添加“
100 - continue
期望值”。如果伺服器始終以
417 (Expectation Failed)
響應,或者不知道如何正確響應
417 (Expectation Failed)
則可能導致問題。
由於HTTP客戶端功能不提供禁用
100 - continue
的選項
以
處理更長的訊息(1024個以上的字元),因此解決方案是從頭開始創建一個HTTP請求標頭,將其排除在外。 HTTP方法的標准定義請參閲
HTTP (HyperText Transfer Protocol) 。
下面的程式碼片段演示了一個例子,該例子使用基本功能和
TCP Palette中的功能來實現
HTTP POST
方法。為HTTP請求編寫字符串時,請將字符串顯示樣式設置為
反斜杠(\)程式碼。這使您可以校對不可顯示的字符,亦為必要的正確終止命令。
從字符串常數或字符串控件:
- 右鍵單擊»'\' Codes Display,或
- 右鍵單擊»屬性»Display Style: Backslash (\) Codes
請注意:該圖像是LabVIEW snippet,其中包含可在project中重複使用的LabVIEW程式碼。要使用snippet,請右鍵單擊圖像,將其保存到電腦,然後將圖檔拖到LabVIEW block diagram上。
請注意:該圖像是LabVIEW snippet,其中包含可在project中重複使用的LabVIEW程式碼。要使用snippet,請右鍵單擊圖像,將其保存到電腦,然後將圖檔拖到LabVIEW block diagram上。