PHP Curl Get方法

时间:2018-05-08 02:56:44

标签: php html curl

我已经像这样创建了一个form.html

<form action = "test.php" method = "POST">
     Name: <input type = "text" name = "domain" />
      <select name="domain_ext" class="inputAuto">
        <option value=".com">.com</option>
      </select>
     <input type = "submit" />
</form>

在test.php中,我尝试创建一个curl get方法

$a = $REQUEST["domain"];
$b = $REQUEST["domain_ext"];

function httpGet($url)
{
    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $output=curl_exec($ch);

    curl_close($ch);
    return $output;
}

echo httpGet("https://abc.php?domain=$a$b");

当我尝试运行form.html时,它没有显示任何结果。可以直接在form.html中显示结果吗?

1 个答案:

答案 0 :(得分:0)

您需要为cURL提供完全合格的网址,例如http://www.example.com

我将http://添加到curl_setopt($ch,CURLOPT_URL,'http://' . $url);

我使用$_POST而不是$REQUEST

我制作了一个简单的测试脚本url.php,它只返回要测试的get查询值 这是经过测试和运作的:

我本地工作站上的

脚本网址:http://127.0.0.1/misc/test.php
它调用:http://127.0.0.1/misc/url.php

<?php
error_reporting(E_ERROR );
echo $_GET["domain"] . '.' . $_GET["domain_ext"];
?>

然后我将test.php与表格结合起来:

这是test.php的内容:

<form action = "test.php" method = "post">
     Name: <input type = "text" name = "domain" />
      <select name="domain_ext" class="inputAuto">
        <option value=".com">.com</option>
      </select>
     <input type = "submit" />
</form>


<?php
error_reporting(E_ERROR );
$a = $_POST["domain"];
$b = $_POST["domain_ext"];

function httpGet($url)
{
    $ch = curl_init();  
    curl_setopt($ch,CURLOPT_URL,'http://' . $url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 //   $output =  curl_error($ch);
    $output .= curl_exec($ch);
//    $output .= var_export(curl_getinfo($ch),true);
    curl_close($ch);
    return $output;
}
echo httpGet("127.0.0.1/misc/url.php?domain=$a$b");

?>

结果如下:

enter image description here