将额外变量设置为卷曲连接字符串

问题描述:

我使用php/curl建立与外部api的连接。它工作正常,但现在我的连接字符串只引用表单中的一个变量。将额外变量设置为卷曲连接字符串

我怎样才能让它引用多个?

这是怎么看起来像现在

$curl_connection =curl_init('https://api.ssllabs.com/api/v2/analyze?host='.$_REQUEST['host']); 

当拨打电话上面的将是这样的: https://api.ssllabs.com/api/v2/analyze主机= www.yourdomain.com

我的表格已经更新,包含了我要引用为卷曲连接的一部分,更多的输入值,需要看起来像这样: https://api.ssllabs.com/api/v2/analyze主机= www.yourdomain.com & S = 69.54.183.66 & ignoreMismatch =上

每个基准由&符号分隔。

在我的HTML表单输入名称如下:

  • 主机
  • 小号
  • ignoreMismatch 还有其他的藏汉..但上面是一个样本

我希望这足以让你知道我正在尝试做什么。

这里是我的jQuery的一部分/阿贾克斯

var hostName = $("input#host").val(); 
var ignoreMismatch = $("#ignoreMismatch").val(); 
var fromCache = $("#fromCache").val(); 
dataString = "host=" + hostName + "&fromCache=" + fromCache + "&ignoreMismatch=" + ignoreMismatch; 
enter code here 
$.ajax({ 
    type: "GET", 
    url: "api2.php", 
    data: dataString, 
    dataType: "json", 

我可以看到这部分工作。从我的Web控制台中,我可以看到该URL已构建并发布到api2.php文件。

例如https://172.21.121.37/labs/api2.php?主机= ocsp.verisign.com & fromCache =上& ignoreMismatch =上

这里是我的api2.php文件,该文件目前只接收主机=字符串设置。

<?php 
header("Content-Type: application/json"); 
//create cURL connection 
$curl_connection =curl_init('https://api.ssllabs.com/api/v2/analyze?host='.$_REQUEST['host']); 

///set options 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 

//perform our request 
$result = curl_exec($curl_connection); 
echo $result; 
//close the connection 
curl_close($curl_connection); 
?> 

这是工作代码的方式,但我只是想给你们更多的上下文,因为我尝试了一些提供的建议,他们没有工作。如果有人可以帮助更新我的api2.php文件,我会测试更新。

这会帮助你

foreach($_GET as $name => $value) { 
    $encoded .= urlencode($name).'='.urlencode($value).'&'; 
} 

$encoded = substr($encoded, 0, strlen($encoded)-1); 

$ch = curl_init("https://api.ssllabs.com/api/v2/analyze?" . $encoded); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $output = curl_exec($ch);  
    curl_close($ch); 
    echo $output; 
+0

我试过,但无论是其不工作(如我是越来越回拨)或我不是保到我api2.php文件正确。我已经更新我的帖子与我目前的代码供您查看。 – user3436467

+0

对不起,我的意思是说,我是_不打电话回来.. – user3436467