2010-06-02 4 views
1

j'ai ce morceau de code:PHP fsockopen à friser conversion

<?php $host = "registration.mypengo.com"; 
$request = "/webregistration.aspx?taskaction=serviceresponse&partner=157&subid=" . $subid . "&msisdn=" . $msisdn . "&type=TEXT&data=" . $data . "&serviceid=" . $service_id; 
$fp = fsockopen($host, 80, $errno, $errstr, 3.0); 

if($fp) 
{ 
    fwrite($fp, 
    "GET $request HTTP/1.0\r\n" . 
    "Host: $host\r\n". 
    "Connection: close\r\n". 
    "Content-Length: " . strlen($request) . "\r\n" . 
    "\r\n" . 
    $request); 

    stream_set_timeout($fp, 2, 0); 
    $response = ""; 

    while(!feof($fp)) 
    $response .= fread($fp, 1024); 

    fclose($fp);?> 

je veux l'essayer en utilisant boucle mais je suis un peu nouveau pour friser si quelqu'un peut partager quelques idées?

Répondre

2

Ceci est l'équivalent en utilisant cURL,

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://" . $host . $request); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close')); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 2); 
    $response = curl_exec($ch); 
    curl_close($ch);  

BTW, ce n'est pas sûr de faire la chaîne de requête comme ça. Vous devriez utiliser http_build_query() pour le construire afin qu'il soit correctement codé.