我已经像这样创建了一个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中显示结果吗?
答案 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");
?>
结果如下: