当前位置: 首页 > 知识库问答 >
问题:

将json字符串作为post请求发送时错误的字符串参数

谭泉
2023-03-14

我在Excel中的VBA宏中使用了以下代码:

Sub Macro1()

Dim URL As String, JSONString As String, objHTTP As Object
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "xxxxx"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
JSONString = "{""name"": ""long"",""startDate"": 12345,""endDate"": 67890,""status"": ""in progress""}"
objHTTP.send JSONString
Debug.Print objHTTP.Status
Debug.Print objHTTP.responseText

End Sub

在即时窗口中,我收到了以下错误:

400 Apache Tomcat/8.0.28-错误报告1{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}H2{font-family:Tahoma,Arial,sans-serif;颜色:白色;背景颜色:#525D76;字体大小:16px;}H3{font-family:Tahoma,Arial,sans-serif;颜色:白色;背景颜色:#525D76;字体大小:14px;}正文{font-family:Tahoma,Arial,sans-serif;颜色:黑色;背景颜色:白色;}B{font-family:Tahoma,Arial,sans-serif;颜色:白色;背景颜色:#525D76;}P{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A{color:black;}A.name{color:black;}.line{height:1px;background-color:#525d76;border:none;}

说明客户端发送的请求语法不正确。

我不知道怎么解决,请帮帮我!

共有1个答案

黎腾
2023-03-14
I solved this problem:

Sub Macro1()
Dim URL As String, JSONString As String, objHTTP As Object
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "xxxxx?name=long&startDate=12345&endDate=67890&status=in progress"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

objHTTP.send
Debug.Print objHTTP.Status
Debug.Print objHTTP.responseText
End Sub
 类似资料:
  • 问题内容: 我想发送一个字符串作为ajax Post参数。 如下代码: 不管用。为什么? 问题答案: 尝试这样:

  • 问题内容: 我尝试使用Apiary,并制作了一个通用模板以将JSON发送到模拟服务器并具有以下代码: 这段代码无法正确发送JSON,但我不知道为什么。每个调用中的JSON字符串可以不同。我不能用这个。 问题答案: 我对打n并不熟悉,但是使用Golang的程序包可以很好地工作(游乐场):

  • 我尝试使用Apariy,制作了一个通用模板,将JSON发送到模拟服务器,并获得以下代码: 这段代码不能正确发送JSON,但我不知道为什么。JSON字符串可以在每次调用中不同。我不能为此使用。

  • 问题内容: 我的印象是,使用x-www-form-urlencoded规范的POSTS应该在帖子正文中发送URL编码的参数字符串。但是,当我这样做时 接收端的请求主体如下所示: 但我期望得到这个 我如何获得请求以第二种形式发送数据? 问题答案: 获得JSON的原因是因为您显式调用以生成JSON字符串。只是不这样做,您就不会得到JSON字符串。换句话说,将第一行更改为: 正如文档所解释的,如果将di

  • 在Spring Boot控制器方法中,我可以将json post请求主体映射到POJO,例如。 我还可以将原始请求正文作为字符串检索: 我的问题是如何将请求体映射到POJO,并将原始请求体作为字符串检索(用于日志目的)。 谢谢