通过PHP向REST服务发送HTTP POST

通过PHP向REST服务发送HTTP POST,php,post,httpwebrequest,Php,Post,Httpwebrequest,我有一个网络服务,就说example.com。 我需要做一个HTTP POST来用PHP调用这个web服务,并将数据发送到这个web服务。我发布的数据来自一个表单,因此可以在变量中使用。我曾读到,这可能是一种方法,但我不确定,因此,任何指向正确方向的指针都将不胜感激 $service_url = 'http://example.com/rest/user'; $curl = curl_init($service_url); $curl_post_data = array( $compName,

我有一个网络服务,就说example.com。 我需要做一个HTTP POST来用PHP调用这个web服务,并将数据发送到这个web服务。我发布的数据来自一个表单,因此可以在变量中使用。我曾读到,这可能是一种方法,但我不确定,因此,任何指向正确方向的指针都将不胜感激

$service_url = 'http://example.com/rest/user';
$curl = curl_init($service_url);
$curl_post_data = array(
$compName,
$package,
$email1,
$telephone1
);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);

是的,这应该能奏效。只需执行curl句柄:

$returnData = curl_exec($curl);

请注意,当您使用数组作为POSTFIELDS而不是字符串“key=val&key2=val…”时,它会将其设置为multipart/form data,而不是application/x-www-form-urlencoded。我知道我自己在某些时候也遇到过麻烦。

是的。如果您的服务器上启用了cURL,那么cURL将是一个不错的选择。你试过了吗?@Nev,还没试过。我仍在等待web服务的URL,但我只是想确定这是一个解决问题的方法。Thanks@Birk...thanks请回答。我要把那条线插在最后吗?我会试试看,看我的进展如何。我真的没有办法把它当作一根绳子来贴,所以我想如果我来的话,我会跨过那座桥:)谢谢!是的,你只是在最后把卷发扔进去。它使用当前设置执行“卷曲”。