最近我試圖在Windows Mobile中創建一個HTTP POST查詢,但POST查詢不成功。這是我一直在努力做 這裏sRequestHeaders是這是Unicode和MSDN文檔的標題說以下有關它用於POST「lpOptional」參數參數在Windows Mobile中設置HTTP POST參數
pOptional [中]
指向緩衝區的指針,該緩衝區包含在請求標頭後立即發送的任何可選數據。該參數通常用於POST和PUT操作。可選數據可以是發佈到服務器的資源或信息。如果沒有可選數據要發送,則此參數可以爲NULL。
dwOptionalLength [IN]
可選數據,以字節爲單位的大小。如果沒有可選數據要發送,此參數可以爲零。
它只是說,pOptional是一個包含可選數據的緩衝區,dwOptionalLength以字節爲單位指定緩衝區,但當嘗試向此調用發送Unicode緩衝區及其字節大小時,響應不是200(HTTP_OK)。經過多次嘗試,我發現參數必須在ANSI緩衝區中。所有其他參數處理LPCTSTR,即TCHAR緩衝區,這一個單獨需要是ANSI緩衝區。以下是一個
if(FALSE == HttpSendRequest(hRequest, (LPCTSTR)sRequestHeaders, sRequestHeaders.GetLength(), LPVOID)(LPSTR)pszAnsiRequestParams, dwRequestParamsLen))
在上述呼叫pszAnsiRequestParams代碼是ANSI緩衝器和dwRequestParamsLen是以字節爲單位該緩衝器的大小。一旦我改變了這個,反應是200.這是怎麼一直髮送參數?如果是這種情況,我將如何發送Unicode POST參數?因爲在我的情況下,我正在處理ASCII字符的時間,這工作正常,但不知何故,我覺得應該有一個出路。
有人可以發佈解決方案我還缺少什麼?