PHP fsockopen для преобразования curl - PullRequest
1 голос
/ 02 июня 2010

у меня есть этот кусок кода:

<?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);?>

Я хочу попробовать его с помощью curl, но я новичок в curl, поэтому кто-нибудь может поделиться некоторыми идеями?

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

Это эквивалентно использованию 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);      

Кстати, делать строку запроса подобным образом небезопасно. Вы должны использовать http_build_query(), чтобы построить его так, чтобы он был правильно закодирован.

1 голос
/ 02 июня 2010

Я предлагаю вам использовать этот скрипт. Это совершенно потрясающе: http://www.bin -co.com / PHP / скрипты / загрузки /

...