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

无法使用有效URL发送带有graphql,400响应的Jmeter请求

樊俊悟
2023-03-14

我可以在https://protocality-website/graphQL/gql上访问我们的graphQL,如果运行以下查询,它将返回预期的结果:

query currentUserProfile {
  currentUserProfile {
    id
  }
}

现在,我尝试将其应用于jmeter

  1. 我在我的线程组中创建了一个HTTP请求,协议:https,服务器名:protectary-website,方法:GET,路径:/graphql/gql
  2. 我创建HTTP头管理器,并包含所需的承载令牌和内容类型头
  3. 我创建一个侦听器来查看结果树
GET https://proprietary-website/graphql/gql

GET data:
{"query":{"currentUserProfile {id}"}}

[no cookies]

但我回来了:

HTTP/1.0 400 Bad Request
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Content-Length: 1555
Date: Thu, 12 Dec 2019 16:40:26 GMT

我是graphql的新手,难道我不允许向开发人员给我的URL发送Jmeter请求吗?我必须使用apollo服务器吗?如果是的话,有人能给我举几个例子吗?

我在Windows 10上

    null

但是我仍然得到一个400,所以我认为我需要以不同的方式发送查询,因为它显示为-data-binary(不确定这是什么意思)。我试了一些其他的建议,到目前为止还没有什么结果

我还尝试过O'Reilly graphql书中的一个应用程序snowtooty.herokuapp.com。这样做更简单,所以curl请求也更简单,我粘贴到jmeter中的信息也更少,但我仍然得到错误:GET查询丢失,使用协议:HTTP,服务器名:snowtooty.herokuapp.com,方法:GET和正文数据:{“query”:“query{allLifts{name}}”},加上头管理器中所有必需的头

共有1个答案

令狐宏浚
2023-03-14

不确定您的专有网站实现是什么,但是可以对http://snowtooty.herokuapp.com/进行如下测试:

>

  • HTTP GET请求:

    HTTP POST请求:

    curl 'http://snowtooth.herokuapp.com/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: http://snowtooth.herokuapp.com' --data-binary '{"query":"{allLifts{name}}"}' --compressed
    

  •  类似资料:
    • 问题内容: 我正在尝试在Elasticsearch上执行简单的“请求正文搜索”,如以下示例所示,但使用.NET而不是curl 下面是我的.NET代码。 但是,我收到以下错误。 有什么方法可以使用标准.NET类发送带有请求的内容主体。还是有解决方法? 问题答案: 将更改为解决方法。 MSDN声明,如果使用or 方法调用该方法,则将引发a 。

    • 我正在尝试上传一个xml文件。当使用MultipartEntityBuilder将二进制格式的文件添加到HttpEntity时,我收到以下错误 我已经通过了链接 https://www.baeldung.com/httpclient-multipart-upload 我的理解是,该文件不被接受,因为http实体无法发送MultipartEntityBuilder,但我可能错了。

    • 本文向大家介绍.NET Framework 使用System.Net.WebClient发送带有字符串有效负载的POST请求,包括了.NET Framework 使用System.Net.WebClient发送带有字符串有效负载的POST请求的使用技巧和注意事项,需要的朋友参考一下 示例            

    • 我在Tomcat 7.0.75上部署了一个spring boot web应用程序,我们最近用https保护了它,它有以下服务器。xml: 当我们转到https时,具有大型(多MB)json响应体的请求在报告200 OK响应代码后,开始在Chrome中生成奇怪的警告消息。IE也未能完全下载响应。 它只是一直显示警告,永远不会完成下载。小请求很好。从客户端的角度来看,请求尚未完成,因为https调用的

    • 问题是,我总是收到一个没有任何有效负载的400响应代码。甚至graphql传递了代码200和带有错误块的有效负载。GraphiQl工作正常,这一事实告诉我设置和模式是正确的。所以…我卡住了。也许,有什么想法,去哪里看看? 我不认为它失败是因为cors本身。我的应用程序在 DRF 下运行良好。我决定尝试新的技术并使用GQL覆盖应用程序。 我的起源:http://127.0.0.1:8080 我的Ap

    • 单击from-data或x-www-form-urlencoded 然后在键/值字段上传递两个参数。 ANDROID改装设置 原因是我使用了2个API(webapi和wcf)。我的所有其他响应都是对象数组。[{},{}]但在此呼叫中,我收到了以下信息 但我还是无法解析响应。