0
我正在從一個非瀏覽器設備(POS,銷售點)發出一個http發佈請求,在C中編程。如何從非瀏覽器設備進行HTTP POST?
完成一個http GET請求工作,我從服務器收到答案。我剛剛與主機連接,打造味精,例如:
strcpy(msjEnv, "GET /app/appinfo/ HTTP/1.1\r\n"
"Host: 185.12.25.138\n"
"User-Agent: 3C377521\n"
"\n"
"\0");
我送msjEnv
,得到的,正如我所說,答案(JSON),我從服務器需要。
現在,用HTTP POST請求,服務器,好歹沒有收到生成味精的身體,例如:
strcpy(msjEnv, "POST /services/s/Core/login HTTP/1.1\r\n"
"Host: 185.12.25.138:7004\r\n"
"auth: asdasd\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"\r\n"
"disp=101010&usr=987676&pass=123456&app=POS\0");
當我看到服務器的控制檯(跟蹤),我可以看到POS連接到服務器,但是msg(disp=101010&usr=896464&pass=9514&app=WPOS
)的BODY全部爲空。
我已經做了Postman測試(一個優秀的應用程序鉻鉻應用程序商店測試的API),我收到正確的答覆。
我想我需要在POST標題中額外的東西,因爲作爲非瀏覽器設備,也許我沒有一些通信自動配置,我認爲,瀏覽器。有什麼想法?
你不需要在字符串文字末尾放置'\ 0',C會自動完成。 – Barmar