winhttp - WinHttpRequest:发送方法
问题描述
我正在尝试在请求正文中传递参数,文档说:
要发送的请求是在对 Open 方法的先前调用中定义的。调用应用程序可以通过 Body 参数提供要发送到服务器的数据。如果对象的 Open 的 HTTP 动词是“GET”,则此方法发送没有 Body 的请求,即使它是由调用应用程序提供的。
所以,我需要在正文中使用POST。但是当我将POST与正文一起使用时,我有错误“错误请求:消息文本为空”,而当我将GET与正文一起使用时,结果是好的。为什么?
我的代码:
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一样不起作用?
解决方案
推荐阅读
- javascript - reactjs如何获取url参数
- c# - 提示容器来源:WixAttachedContainer 问题
- java - 对调查“硬件差异对合并排序算法性能的影响”的初步研究方法的评论
- java - SonarQube 已停止且未运行
- flutter - MacOS 根据 Flutter 官方文档给出 zsh: command not found: flutter after update path
- c++ - 让一个类方法为每个实例保存一个不同的静态变量
- python-3.7 - write() 在 Python 中不接受关键字参数
- video - Flutter 应用程序是否可以将应用程序内播放的视频移交给 Apple 或三星电视?
- angularjs - ng-repeat 在 6 个不同的框中显示 6 个不同的值
- symfony - 在 Symfony 4.3 中使用邮件程序-> 预期响应代码“250”但得到代码“535”,消息“535-5.7.8 用户名和密码不被接受