Я нахожусь на установке Ubuntu 10.04 и как-то перестал работать curl с моим пользователем. Я всегда получаю: curl: (7) не может подключиться к хосту. Работает только как root. Может кто-нибудь мне помочь?
3 ответа
Я думаю, что, возможно, какая-то библиотека, в которой нуждается curl, теперь доступна только пользователю root по любой причине. Несколько вещей, которые вы можете попробовать:
sudo apt-get purge curl libcurl3
sudo apt-get install curl
тогда, если это не исправит это:
strace curl http://site.com/file.txt &> curl.log
и опубликовать вывод на pastebin.com или что-то для нас.
Я проверил скручиваемость журнала 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
Возможно, один пользователь использует прокси, а другой - нет. Смотрите , если либо ваш пользователь или корень имеет http_proxy или HTTP_PROXY определенную переменную окружения.
Также посмотрите, есть ли у root файл .curlrc который содержит параметр, который заставляет его работать, или у вашего пользователя есть .curlrc который не работает.
