Skip to content

Verifier output shows request body wrapped in quotes when using prove() with POST body #254

@looikaizhi

Description

@looikaizhi

Hi, I was asked to report this in the tlsn-extension repo because the issue seems related to the verifier component.

I am using prove() with a POST request body. The request can reach the server, but the server responds with a parameter error.

In the verifier output, I noticed that the request body shown in the "Sent data" log appears to be wrapped in quotation marks. I am not sure whether:

  1. this is only how the verifier displays the body for logging purposes, or
  2. the body is actually being serialized/stringified in a way that adds extra quotes.

For example, the body shown in the verifier output looks like this:

"gmtDateBegin=2026-03-05+00%3A00%3A00&gmtDateEnd=2026-03-06+00%3A00%3A00&userId=208xxxxxxxxxx498&status=ALL&pageSize=50&pageNum=1&sortTarget=gmtCreate&sortType=0&bizType=ALL&_input_charset=gbk"

The server returns:

{"success":"false","status":"failed","errorCode":"BIZ_ERROR_INPUT_PARAMETER_ERROR","errorMsg":"输入参数错误","result":null}

My question is:

Could the extra quotation marks shown around the body in the verifier output cause the server to misinterpret the request parameters, or is this only a logging/display artifact in the verifier?

Image

Also, do you have any working demo that notarizes a request with a POST body?

Most examples I found are GET requests without a body.
The endpoint I am testing requires a POST body, and every attempt currently returns a parameter error.

I'm wondering if the body might be getting JSON-serialized internally, which could cause the server to misinterpret the parameters.

A minimal example with a request body would be very helpful for debugging this.

tlsnotary/tlsn#1116

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions