在PHP CURL的POST请求中传递GET变量

3

我正在尝试将变量值(sample = 1000)传递到链接中

http://10.219.5.109:9000/mean

最终它应该看起来像这样:
http://10.219.5.109:9000/mean?sample=1000 

我正在使用以下PHP代码,但似乎变量没有被正确传递,因此代码无法运行。
$curl_connection =curl_init('http://10.219.5.109:9000/mean');
$post_string='sample=1000';
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);
print_r(curl_getinfo($curl_connection));

如何正确地将变量绑定到链接中?

1
$curl_connection = curl_init('http://10.219.5.109/mean?'.$post_string) - Kisaragi
最后的 .'' 是多余的 @Kisaragi - Albzi
1
@Albzi 谢谢,已更新。 - Kisaragi
2个回答

6

看起来你正在进行GET请求,所以POST变量将永远不会被发送到服务器。你可以将参数作为查询字符串添加到URL中。

就像这样:

$curl_connection = curl_init('http://10.219.5.109:9000/mean?sample=1000');
$result = curl_exec($curl_connection);
print_r(curl_getinfo($curl_connection));

如果您希望数据变得动态化,可以按照以下方式进行操作:
$post_string = 'sample=1000';
$curl_connection = curl_init('http://10.219.5.109:9000/mean?' . $post_string);

谢谢!它运行得非常完美。但是我如何在其中绑定更多的变量?我有4个变量“size”、“height”、“weight”和“class”。你能帮我吗? - user6559913
是的,你只需要在它们之间放置一个 &。所以它变成了 sample=1000&size=15&height=0 等等。 - Jerodev

0
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://10.219.5.109:9000/mean?sample=1000',
CURLOPT_USERAGENT => 'Simple cURL'
));
$resp = curl_exec($curl);
curl_close($curl);
?>

示例值也可以通过变量设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接