Curl предотвратить обман таймаута - PullRequest
0 голосов
/ 27 февраля 2019

У меня странный вопрос, и я надеюсь, что кто-то может помочь с ним.

Я пытался найти это в Google, но все результаты по предотвращению тайм-аутов скручивания относятся к бигуди.

В этом случае я 'm CURLEE (другими словами, у меня есть веб-страница, свернутая).

Итак, я не имею никакого контроля над тем, что делает сервер керлинга.У меня есть только контроль над тем, что я передаю.

Поскольку большинство запрашиваемых страниц являются сложными страницами PHP, они могут занять некоторое время.У сервера керлинга есть стандартное время ожидания 30 секунд, и в некоторых сценариях оно истекло, и я не могу передать результат.

В любом случае есть ли возможность запретить серверу керлинга тайм-аут с моей стороны??

Я возился с отправкой 200 ok заголовков и прерывистым пустым контентом, но безуспешно.

Вот одна из моих неудачных попыток:

<?php
$limit = 500;
header("HTTP/1.1 200 OK");
flush();

$count = 0;
while ( $count < $limit ) {
        $count++;
        sleep(1);
        echo str_pad("", 1024);
        flush();
}
echo "Count = " . $count;
exit();

Но, увы, сервер керлинга заброшен через 30 секунд.

Есть идеи?

1 Ответ

0 голосов
/ 01 марта 2019

Вы должны попробовать кодирование HTTP Chunked.

Ссылка: https://en.wikipedia.org/wiki/Chunked_transfer_encoding

Заголовок HTTP будет выглядеть следующим образом:

HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...