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

  • eHow

    eHow

    27 NİSAN 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009
  • YAN TV

    YAN TV

    20 EKİM 2011