1

Следующая команда работает в GNU Bash на FreeBSD, но не в Git Bash на Windows:

curl -X PUT https://example.com/_config/cors/origins -d '"*"'

Предполагаемый результат - отправить запрос PUT на https://example.com/_config/cors/origins с телом "*" (включая кавычки - это строка JSON).

Однако в Windows звездочка расширяется как глобус, даже если она находится в кавычках. Выдержка из --trace-ascii cURL:

0000: PUT /_config/cors/origins HTTP/1.1
004f: User-Agent: curl/7.30.0
008e: Content-Length: 13
00a2: Content-Type: application/x-www-form-urlencoded
00d3: 
=> Send data, 13 bytes (0xd)
0000: .editorconfig
== Info: upload completely sent off: 13 out of 13 bytes

(.editorconfig - это первый файл в текущем каталоге.)

Выход с обратной косой чертой ('"\*"') передает обратную косую черту:

0000: PUT /_config/cors/origins HTTP/1.1
004f: User-Agent: curl/7.30.0
008e: Content-Length: 4
00a1: Content-Type: application/x-www-form-urlencoded
00d2: 
=> Send data, 4 bytes (0x4)
0000: "\*"
== Info: upload completely sent off: 4 out of 4 bytes

Два обратных слеша также передают оба обратных слеша в запросе.

0000: PUT /_config/cors/origins HTTP/1.1
004f: User-Agent: curl/7.30.0
008e: Content-Length: 5
00a1: Content-Type: application/x-www-form-urlencoded
00d2: 
=> Send data, 5 bytes (0x5)
0000: "\\*"
== Info: upload completely sent off: 5 out of 5 bytes

Это ошибка?

1 ответ1

0

Попробуйте это как эта идея, основываясь на подсказках и идеях, найденных на этом сайте:

curl -X PUT https://example.com/_config/cors/origins -d "\*"

Другая идея возникает из этого ответа на аналогичный вопрос об отправке данных через запрос POST. Сначала создайте файл «data» с именем «data.txt», который просто содержит * . Затем выполните команду curl :

curl -X POST -d @data.txt https://example.com/_config/cors/origins

Вы можете попробовать это без -X POST который устанавливает метод запроса следующим образом:

curl -d @data.txt https://example.com/_config/cors/origins

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .