我正在try 通过HTTP POST在JSON中发送GooglePay令牌.该请求在cURL和Postman上运行良好,但当我try Go HTTP请求时,服务器报告数据的格式无效,并且HTTP响应状态代码为400.
cURL
curl --verbose --location 'https://fts-uat.cardconnect.com/cardsecure/api/v1/ccn/tokenize' \
--header 'Content-Type: application/json' \
--data '{
"encryptionhandler": "EC_GOOGLE_PAY",
"devicedata": "{\"signature\":\"MEQCIDTsnaYiwckYQFYky0i0wSn317HcKuAYrNYfh4Uw6Y4lAiAhDPxmheYFOEDGVYjVjZnPFHOrbYHwDUbkcYIxZDqU/w\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYD8gO936PEY6yEFDQolKLMcpKvjo1uZEdnKZ022tUOAERQKaEpoT6RAd6nDm1FbbFRUdionunr3vy/o72nSQ6w\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1701182324996\\\"}\",\"signatures\":[\"MEUCIQCbEHBbAXI/WEfguCnTkYYwgQeFZcN4/oBS8O79oQGl4wIgOmXKIihg6Ia9b7bUJckKAGrPF70fHZjCJcPGv88MMjA\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"ynexar8PqRG3y1zKbNBUbbwRHbAbElnk2imema+8Zx89ex91/pgdy5ZzZKNhJ+LHJonuQKvdI9h0gWikhap7Jp6kqrnu0b4OzMxrRoj5wteUzDmm77F7WsBxi2DkIsqzcReDBZiTO3BSrJwvIkeL8mYr2yfVTZ0qY3KqCqXkzx0ANT3mZEdltqSEGOKaJKV38S1Oq0vGzQCKLxFI7Cxz5RHlTIM0WfBUigALfa+yJO4J6Tev0d4e9CYChz5DA/sBKxPf37796IxmvxxvNpytVqXYHKQWg6iAVfeKs8wbR6KA12mb6zqwTOrrLBrnLWdaBbX12flyvPFVywSJFHzTkV8WEB9mVoKrm/A2b27UV8RGFNrr9djCE1FZIgyS36VJVefLKlWQkeSGNESuLn0d7ftkv92+Gds2Hl9TQbAyy+IcGVERmQPo2EOhxf1xOpSQU8bTxLIFr+WqzGM0Q1+PquqxzQ\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BMAjXpWcm+kQlvIMzdhAnOJK+5RViyCaPA35gXTJGvW5pKZ6zDxD14cQYHfhccJZli24Fc+JbqnvIvtc6Yo19d8\\\\u003d\\\",\\\"tag\\\":\\\"3ZumWWU6hOw+f5V5GIKr6di4AkA0s3kzigqP3V1YzVo\\\\u003d\\\"}\"}"
}'
Go Lang
url := "https://fts-uat.cardconnect.com/cardsecure/api/v1/ccn/tokenize"
data := `{
"encryptionhandler": "EC_GOOGLE_PAY",
"devicedata": "{\"signature\":\"MEQCIDTsnaYiwckYQFYky0i0wSn317HcKuAYrNYfh4Uw6Y4lAiAhDPxmheYFOEDGVYjVjZnPFHOrbYHwDUbkcYIxZDqU/w\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYD8gO936PEY6yEFDQolKLMcpKvjo1uZEdnKZ022tUOAERQKaEpoT6RAd6nDm1FbbFRUdionunr3vy/o72nSQ6w\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1701182324996\\\"}\",\"signatures\":[\"MEUCIQCbEHBbAXI/WEfguCnTkYYwgQeFZcN4/oBS8O79oQGl4wIgOmXKIihg6Ia9b7bUJckKAGrPF70fHZjCJcPGv88MMjA\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"ynexar8PqRG3y1zKbNBUbbwRHbAbElnk2imema+8Zx89ex91/pgdy5ZzZKNhJ+LHJonuQKvdI9h0gWikhap7Jp6kqrnu0b4OzMxrRoj5wteUzDmm77F7WsBxi2DkIsqzcReDBZiTO3BSrJwvIkeL8mYr2yfVTZ0qY3KqCqXkzx0ANT3mZEdltqSEGOKaJKV38S1Oq0vGzQCKLxFI7Cxz5RHlTIM0WfBUigALfa+yJO4J6Tev0d4e9CYChz5DA/sBKxPf37796IxmvxxvNpytVqXYHKQWg6iAVfeKs8wbR6KA12mb6zqwTOrrLBrnLWdaBbX12flyvPFVywSJFHzTkV8WEB9mVoKrm/A2b27UV8RGFNrr9djCE1FZIgyS36VJVefLKlWQkeSGNESuLn0d7ftkv92+Gds2Hl9TQbAyy+IcGVERmQPo2EOhxf1xOpSQU8bTxLIFr+WqzGM0Q1+PquqxzQ\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BMAjXpWcm+kQlvIMzdhAnOJK+5RViyCaPA35gXTJGvW5pKZ6zDxD14cQYHfhccJZli24Fc+JbqnvIvtc6Yo19d8\\\\u003d\\\",\\\"tag\\\":\\\"3ZumWWU6hOw+f5V5GIKr6di4AkA0s3kzigqP3V1YzVo\\\\u003d\\\"}\"}"
}`
req, _ := http.NewRequest(http.MethodPost, url, strings.NewReader(data))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
fmt.Println("Response Status:", resp.Status)
我try 使用NC打印来自curl、Postman和GoLang的所有HTTP头和正文,它们看起来完全相同.我也操纵了User-Agent保持一致,但还没有运气.感谢任何人的帮助.