Szymon Panecki

Szymon Panecki tracenie czasu

Temat: Problem z cURL raz działa raz nie.

Witam, mam sobie taki kod który raz działa raz nie ponieważ wywala 503 nie bardzo wiem co z tym zrobić ponieważ wartość zwracana przez debuger nie wiele mi mówi.

<?php

$id = $_GET["id"];
$url = "http://thevisit.me/jsonp?page=" . urlencode($id);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
curl_close($ch);
$data = $json;

echo $_GET['jsonp_callback'] . '(' . $data . ');';
?>

z debugu wynika ze sie laczy php na jakis port na serwerze
dokladnie 40301

fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("46.4.105.172")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll([{fd=3, events=POLLOUT}], 1, 1000) = 1 ([{fd=3, revents=POLLOUT}])
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
getpeername(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("46.4.105.172")}, [16]) = 0
getsockname(3, {sa_family=AF_INET, sin_port=htons(40301), sin_addr=inet_addr("46.4.105.172")}, [16]) = 0
sendto(3, "GET /jsonp?page= HTTP/1.1\r\nHost: thevisit.me\r\nAccept: */*\r\n\r\n", 61, MSG_NOSIGNAL, NULL, 0) = 61
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 1000) = 0 (Timeout)

Niestety znacznik CODE nie działa, więc będzie bez ramek.

Będę bardzo wdzięczny za pomoc.Szymon Panecki edytował(a) ten post dnia 17.12.11 o godzinie 14:26
Janusz Skudrzyk

Janusz Skudrzyk Członek zarządu,
weblabs.pl

Temat: Problem z cURL raz działa raz nie.

CURLOPT_CONNECTTIMEOUT

Serwer tak wolno odpowiada, że aż masakra. Najlepsze rozwiązanie: timeout ustawić na 1, wrzucić w crona, jeśli się połączy i pobierze treść, to zapisać lokalnie kopię. Ludziom pokazywać kopię, a nie treść wziętą bezpośrednio z zewnętrznego źródła.



Wyślij zaproszenie do