Я нахожусь на установке Ubuntu 10.04 и как-то перестал работать curl с моим пользователем. Я всегда получаю: curl: (7) не может подключиться к хосту. Работает только как root. Может кто-нибудь мне помочь?

3 ответа3

1

Я думаю, что, возможно, какая-то библиотека, в которой нуждается curl, теперь доступна только пользователю root по любой причине. Несколько вещей, которые вы можете попробовать:

sudo apt-get purge curl libcurl3
sudo apt-get install curl

тогда, если это не исправит это:

strace curl http://site.com/file.txt &> curl.log

и опубликовать вывод на pastebin.com или что-то для нас.

1

Я проверил скручиваемость журнала curl google.com и ключевая строка, безусловно, 409:

connect(3, {sa_family=AF_INET, sin_port=htons(9999), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)

Если я (для тестирования) запускаю curl http://localhost:1357 , я получаю в strace:

connect(3, {sa_family=AF_INET, sin_port=htons(1357), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)

Итак, по какой-то странной причине вместо google.com curl пытается подключиться к localhost:9999 .

Можете ли вы опубликовать:

  • /etc/hosts
  • /etc/nsswitch.conf
  • ~/.bashrc
  • /etc/host.conf
  • /etc/gai.conf
  • вывод ldd /usr/bin/curl
  • вывод env
0

Возможно, один пользователь использует прокси, а другой - нет. Смотрите , если либо ваш пользователь или корень имеет http_proxy или HTTP_PROXY определенную переменную окружения.

Также посмотрите, есть ли у root файл .curlrc который содержит параметр, который заставляет его работать, или у вашего пользователя есть .curlrc который не работает.

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