1

Я заранее прошу прощения за то, что был плотным, но я не могу понять, почему wget "сдается". Вот команда, которую я использую.

wget --debug --tries 1 --read-timeout=900 --timeout=0 http://secure.sample.com/site/test

Вот часть отладки wget:

--2012-12-13 17:43:19--  http://secure.sample.com/site/test
Resolving secure.sample.com... 100.100.100.100
Caching secure.sample.com => 100.100.100.100
Connecting to secure.sample.com|100.100.100.100|:80... connected.
Created socket 3.
Releasing 0x0000000000e658e0 (new refcount 1).

---request begin---
GET /site/test HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: secure.sample.com
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... No data received.
Closed fd 3
Giving up.

Я попытался отобразить некоторые данные, так как похоже, что они не видят ответа, и я также попытался очистить выходные буферы (в случае, если данные были там просто не отправлены). Мы ценим любые предложения.

1 ответ1

2

хорошо, я успешно воспроизвел ваш вывод с локальным URL:

% wget --debug --tries 1 --read-timeout=900 --timeout=0 http://localhost:5000/foo/bar
Setting --tries (tries) to 1
Setting --read-timeout (readtimeout) to 900
Setting --timeout (timeout) to 0
DEBUG output created by Wget 1.13.4 on darwin10.8.0.

URI encoding = `US-ASCII'
--2012-12-13 19:54:40--  http://localhost:5000/foo/bar
Resolving localhost (localhost)... 127.0.0.1, ::1, fe80::1
Caching localhost => 127.0.0.1 ::1 fe80::1
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
Created socket 3.
Releasing 0x000000010041d0f0 (new refcount 1).

---request begin---
GET /foo/bar HTTP/1.1
User-Agent: Wget/1.13.4 (darwin10.8.0)
Accept: */*
Host: localhost:5000
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... No data received.
Closed fd 3
Giving up.

как я это сделал? Что ж, это легко, с другой стороны, я открыл службу на порту 5000 и закрыл ее после передачи запроса:

% nc -kl 5000
GET /foo/bar HTTP/1.1
User-Agent: Wget/1.14 (darwin10.8.0)
Accept: */*
Host: localhost:5000
Connection: Keep-Alive

GET /foo/bar HTTP/1.1
User-Agent: Wget/1.13.4 (darwin10.8.0)
Accept: */*
Host: localhost:5000
Connection: Keep-Alive

^C

Итак, все это означает, что сервер, к которому вы пытаетесь подключиться, либо не является HTTP сервером, либо содержит ошибки. Он открывает сокет, когда вы подключаетесь к порту, и как только вы произносите свою HTTP речь, он сразу же закрывается (или по истечении времени ожидания вы не сказали). В любом случае, wget работает просто отлично, ваш сервис - нет.

Если вы считаете , что это ошибка wget «с, вы пытались с помощью curl вместо этого?

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