почему curl иногда возвращает однострочный ответ JSON? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь заставить графический процессор nVidia работать на моем MacPro, используя скрипт https://github.com/mayankk2308/purge-wrangler, и я столкнулся с проблемой.

Инструкции по установке не выполняются на моем MacPro, но на моем MacBookPro они выполняются успешно.Оба работают под управлением одной и той же версии OSX (Mojave 10.14.2) и одной и той же версии curl (curl 7.63.0).

Вот инструкции ...

curl -s https://raw.githubusercontent.com/mayankk2308/purge-wrangler/master/resources/webdrv-release.sh | bash

Этовозвращает и выполняет следующий сценарий ...

curl -s "https://api.github.com/repos/mayankk2308/purge-wrangler/releases/latest" | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/' | xargs curl -L -s -0 > purge-wrangler.sh && chmod +x purge-wrangler.sh && ./purge-wrangler.sh && rm purge-wrangler.sh

Проблема в том, что curl возвращает однострочный ответ на мой MacPro и многострочный ответ повсюду.Я пытаюсь понять, что на моих машинах отличается от такого радикально другого поведения.

Это должен быть серверный коммутатор, но я не уверен, что это такое.

ПРИМЕЧАНИЕ: строка sed (1) легко обновляется для поддержки как однострочных, так и многострочных ответов, но я бы хотел узнать о различиях на двух моих машинах.

У кого-нибудь есть указатели?

1 Ответ

0 голосов
/ 14 февраля 2019

Проблема оказывается в следующих двух строках моего ~ / .curlrc ...

# Disguise as IE 9 on Windows 7.
user-agent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

Указание этого пользовательского агента влияет на то, как https://api.github.com возвращает его ответы JSON (одиночный илимногострочный).

Я, честно говоря, понятия не имею, почему эта строка была в моем файле ~ / .curlrc, но я подозреваю, что другие, должно быть, столкнулись с этой же проблемой и просто обошли ее.

...