У меня есть новая машина OSX, на которой запущен Mavericks, и возникла интересная ситуация с доступом к rubygems.org.
Как обычный пользователь:
$ curl http://rubygems.org|head
curl: (7) Failed connect to rubygems.org|head:8080; Connection refused
Но с помощью sudo:
$ sudo curl http://rubygems.org |head
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9181 0 9181 0 0 6847 0 --:--:-- 0:00:01 --:--:-- 6851
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="google-site-verification" content="AuesbWQ9MCDMmC1lbDlw25RJzyqWOcDYpuaCjgPxEZY" />
<link rel="apple-touch-icon" href="/touch-icon-iphone.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/touch-icon-iphone4.png" />
<link rel="fluid-icon" href="/fluid-icon.png"/>
<link rel="search" type="application/opensearchdescription+xml" title="RubyGems.org" href="/opensearch.xml">
Я никогда раньше этого не видел -- почему он переходит на 8080 как пользователь? Как это исправить?
решение1
Возможно, в среде пользователя настроен прокси-сервер? Я бы начал с запуска "set|grep 8080", чтобы посмотреть, содержит ли какая-либо переменная 8080. Также похоже, что символ вертикальной черты не распознается bash, поскольку curl, похоже, видит |head как часть имени хоста. Это повторяется? Это происходит даже с пробелом вокруг вертикальной черты (нет, это не обязательно, но если это изменит ошибку, это может быть показательно). Была ли исходная команда скопирована с чего-то такого, что вертикальная черта на самом деле может быть каким-то другим символом, не входящим в ASCII?