WinHttpRequest:发送方法

问题描述

我正在尝试在请求正文中传递参数,文档说:

要发送的请求是在之前对 Open 方法调用中定义的。调用应用程序可以通过 Body 参数提供要发送到服务器的数据。如果对象的 Open 的 HTTP 动词是“GET”,则此方法发送不带正文的请求,即使它是由调用应用程序提供的。

所以,我需要将 POST 与 body 一起使用。但是当我将 POST 与 body 一起使用时,我有错误 “Bad Request: message text is empty” 并且当我将 GET 与 body 一起使用时,结果是行。为什么?

我的代码

WinHttp = NEW COMObject("WinHttp.WinHttpRequest.5.1"); 
WinHttp.Open("GET","http://api.telegram.org/botbotname/sendMessage",0);

WinHttp.setRequestHeader("Content-type","application/json");

JSONWr = New JSONWriter();  
JSONWr.ValidateStructure = False;   

JSONParams = New JSONWriterSettings(,Chars.Tab);  

JSONWr.SetString(JSONParams);   

JSONWr.WriteStartObject();

JSONWr.WritePropertyName("chat_id");
JSONWr.WriteValue(UserId);

JSONWr.WritePropertyName("text");
JSONWr.WriteValue(Text);

JSONWr.WriteEndobject();

JSONString = JSONWr.Close();

WinHttp.Send(JSONString);

工作,但是如何?为什么同样的 POST 不起作用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)