SORU
7 HAZİRAN 2009, Pazar


Nasıl bir asenkron PHP GET isteği yapabilirim?

Basit farklı bir sunucu üzerinde başka bir komut dosyası için bir GET isteği yapmak istiyorum. Bunu nasıl yapabilirim?

Bir durumda, ben sadece herhangi bir çıkış gerek kalmadan harici bir komut isteği.

make_request('http://www.externalsite.com/script1.php?variable=45'); //example usage

İkinci durumda, metin çıktısı almak istiyorum.

$output = make_request('http://www.externalsite.com/script2.php?variable=45');
echo $output; //string output

Dürüst olmak gerekirse, bu gerçekten CURL işi değil gibi CURL ile uğraşmak istemiyorum. Ben de PECL uzantıları yok kullanım http_get yapmak istemiyorum.

İş fsockopen? Eğer öyleyse, nasıl dosya içeriğini okuma olmadan yapacağım? Başka bir yolu var mı?

Teşekkürler

Güncelleme

Senaryo için bir şey dönmek için beklemek istemiyorum, bu durumda, ilave etmeliyim. File_get_contents anladığım kadarıyla() sadece ana sayfa tamamen vb yüklemek için?

CEVAP
7 HAZİRAN 2009, Pazar


file_get_contents ne istiyorsun

$output = file_get_contents('http://www.example.com/');
echo $output;

Edit: hemen bir istek ve geri çekil atmak için Bir yol.

http://petewarden.typepad.com/searchbrowser/2008/06/how-to-post-an.html alıntı

function curl_post_async($url, $params)
{
    foreach ($params as $key => &$val) {
      if (is_array($val)) $val = implode(',', $val);
        $post_params[] = $key.'='.urlencode($val);
    }
    $post_string = implode('&', $post_params);

    $parts=parse_url($url);

    $fp = fsockopen($parts['host'],
        isset($parts['port'])?$parts['port']:80,
        $errno, $errstr, 30);

    $out = "POST ".$parts['path']." HTTP/1.1\r\n";
    $out.= "Host: ".$parts['host']."\r\n";
    $out.= "Content-Type: application/x-www-form-urlencoded\r\n";
    $out.= "Content-Length: ".strlen($post_string)."\r\n";
    $out.= "Connection: Close\r\n\r\n";
    if (isset($post_string)) $out.= $post_string;

    fwrite($fp, $out);
    fclose($fp);
}

Bu ne açık bir istek ve soket kapatın ve hemen geri dönün kapalı yuva, bir yangın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009