我有这段代码:
<?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);?>
我想尝试使用卷曲,但我有点卷曲,所以有人可以分享一些想法吗?
答案 0 :(得分:2)
这是等效的使用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 :(得分:1)
我建议你使用这个脚本。这太棒了: http://www.bin-co.com/php/scripts/load/