4

我正在做一个安静的 api 调用,但我收到了一个错误。

Warning: Invalid character is found in given range. A specified range MUST 
Warning: have only digits in 'start'-'stop'. The server's response to this 
Warning: request is uncertain.
HTTP/1.1 200 OK
Date: Thu, 22 Aug 2013 17:43:19 GMT
Server: Apache
Content-Length: 208
Allow: GET, HEAD, POST
Vary: Authorization
Content-Type: application/json

有没有人见过这个关于无效字符的警告错误?我如何解决它?

我在打电话:

curl https://my/url/for/api --include -H "Content-Type:application/json" -request POST '{ \"type\": \"code\", \"objects\" : [ \"123456\" ] } ' -u user:pass

更多信息:

返回结束时的额外响应

curl: (6) Could not resolve host: POST; nodename nor servname provided, or not known

curl: (3) [globbing] nested braces not supported at pos 33
4

3 回答 3

3

更正后的命令行可能类似于:

curl https://my/url/for/api \
--include \
-H "Content-Type:application/json" \
-d '{ \"type\": \"code\", \"objects\" : [ \"123456\" ] } ' \
-u user:pass

(为了便于阅读,我将其拆分为多行。)我所做的更改:

1 - --request 需要两个破折号,但是由于您设置了 POST,所以它是多余的,我将其删除

2 - 使用 -d(或 --data)指定要发布的内容。--request 只接受一个方法字符串,您可以在 HTTP 请求中将 POST替换为该字符串,但我认为您不希望这样。

于 2013-08-22T21:03:29.980 回答
3

我有类似的情况 - 我的curl请求基本上是有效的,并返回了我需要的信息,但带有警告,使用以下代码:

curl -request http://...

原来是-request我输入错误的参数。它要么需要是这样的:

curl --request GET http://...

或者根本不存在(因为 GET 是默认设置):

curl http://...
于 2016-09-16T13:39:45.283 回答
2

cURL 对命令中的方括号感到困惑。它将它们解释为它应该处理的一系列字符。无论哪种方式,您的问题可能更适合 SuperUser 而不是 Stackoverflow。

于 2013-08-22T18:04:22.850 回答