Получение "curl: (3) Недопустимые символы в URL" в скрипте Linux - PullRequest
0 голосов
/ 01 декабря 2018

В настоящее время я работаю над сценарием, который считывает несколько сотен IP-адресов, перечисленных построчно в файле.Сценарий должен принимать IP-адреса, а затем выводить IP-адрес, его долготу и широту в новый файл.Однако всякий раз, когда я пытаюсь запустить скрипт, я получаю несколько «curl: (3) Недопустимые символы, найденные в URL»).Я устранял это пару дней и пока ничего не придумал.Кто-нибудь может подсказать мне правильное направление для выяснения проблемы?

Заранее спасибо за любую помощь.

Это сценарий, который я использую.

#!/bin/bash

cat ipCheck.txt | while read line

do

curl "https://api.ipstack.com/"$line"access_key=9c04ea7631a32590cac23eb27ec6c104&foraat=1&fields=ip,latitude,longitude"

done >> locations.txt

В настоящее время я использую тестовый текстовый файл с 10 IP-адресами.Это выглядит следующим образом

101.249.211.209

102.165.32.39

102.165.35.37

102.165.49.193

103.27.125.18

103.3.61.193

103.78.132.4

104.143.83.13

104.143.83.8

104.149.216.71

1 Ответ

0 голосов
/ 01 декабря 2018

Ничто не выскакивает как неправильное.Вы пытались закомментировать вашу строку скручивания и запустить цикл с чем-то вроде:

cat ipCheck.txt | while read line

do

#curl "https://api.ipstack.com/"$line"access_key=9c04ea7631a32590cac23eb27ec6c104&foraat=1&fields=ip,latitude,longitude"

echo "\"$line\""

done >> locations.txt

Это должно помочь найти дополнительный пробел или что-то странное с форматированием.

Если это не форматирование в вашем файле, вы можете попробовать:

cat ipCheck.txt | while read line

do

curl "https://api.ipstack.com/${line}access_key=9c04ea7631a32590cac23eb27ec6c104&foraat=1&fields=ip,latitude,longitude"

done >> locations.txt

Это должно дать тот же результат, но в вашей среде может произойти что-то странное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...