Я нахожусь на установке 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
который не работает.