2012-09-13 69 views
0

我使用cURL向REST API发送请求,并且我想向创建的url添加字符串befeore执行它。这个字符串不是一个参数。如何在url的末尾添加字符串

你知道我该怎么做?

+0

向我们展示一些代码并解释它。 –

+2

'$ url。='string''? – lafor

回答

0

这取决于你想要做什么。如果您想通过附加GET查询参数来调用URL,则可以使用string concatenation

<?php 
function get_data($url, $add) { 
    $url = $url.$add; 
    $ch = curl_init(); 
    $timeout = 5; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 

echo get_data('http://example.com', '?page=mine'); 
?> 

但是,如果你想通过发送POST查询参数检索特定的网址(例如模拟提交表单),您需要实现something like this代替。

+0

好的,但是如果我想在执行curl_setopt($ ch,CURLOPT_POSTFIELDS,$ this-> params)之后添加$ add变量呢?方法 ? – Mirek

+1

@Mirek'CURLOPT_POSTFIELDS'不以任何方式修改URL。 – lafor

+0

正确...:/对不起,对于这个问题。所以我必须在上面的例子的$ url变量末尾添加这个附录。谢谢 – Mirek

2

它叫做string concatenation。在PHP中可以这样做:$str = $string1.$string2;

p.s.在提问之前总是阅读文档。在那里你可以找到你的大部分问题的答案。

+0

嗯,这不仅仅是关于PHP字符串连接。我的问题是关于如何获得uri(使用curl添加参数),在此uri的末尾添加一个字符串,然后使用curl执行它。 – Mirek

+0

@Mirek'$ url ='http://example.com/'; $ params ='?param1 = value1&param2 = value2'; $ url。= $ params;' – Leri

相关问题