如何使用curl发布?

时间:2019-06-26 10:48:26

标签: php curl

我使用curl进行测试。我创建了3个php文件“ app,source,result”。第一个php是要发布的应用。第二是来源。第三项处理岗位价值。如何从应用程序发布到source.php并获得结果,php。我什么都没有。

第一个php

$data = [ 'user' => 'myself' ];
$headers = [
"User-Agent: Opera/9.80 (J2ME/MIDP; Opera Mini/4.0.10992/35.5561; U; hr) Presto/2.8.119 Version/11.10",
 "Content-Type: application/x-www-form-urlencoded",
];

$options = [
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => $headers
];

$ch = curl_init("localhost/source.php');
curl_setopt_array($ch, $options);
$res = curl_exec($ch);
curl_close($ch);
echo $res;
  

源PHP

<form action="result.php" method="post">
<input type="hidden" name="user">
</form>
  

结果php

<?php
if(isset($_POST['user'])){ echo $_POST['user']; }
?>

1 个答案:

答案 0 :(得分:1)

通过POST或PUT请求发送数据时,两种常见格式(通过Content-Type标头指定)是:

application / json 应用程序/ x-www-form-urlencoded 许多API都接受两种格式,因此,如果您在命令行使用curl,则使用urlencoded格式而不是json会容易一些,因为

json格式需要大量额外的报价 curl默认会发送urlencoded形式,因此对于json,必须显式设置Content-Type标头 本要点提供了使用两种格式的示例,包括如何在curl请求中使用两种格式的示例数据文件。

卷曲用法 对于使用POST和PUT请求发送数据,这些是常见的curl选项:

请求类型

-X开机自检 -X PUT 内容类型标题

-H“内容类型:application / x-www-form-urlencoded”

-H“内容类型:application / json”

数据

表单urlencode:-d“ param1 = value1&param2 = value2”或-d @ data.txt json:-d'{“ key1”:“ value1”,“ key2”:“ value2”}'或-d @ data.json 例子 POST应用程序/ x-www-form-urlencoded application / x-www-form-urlencoded是默认值:

curl -d“ param1 = value1&param2 = value2” -X POST http://localhost:3000/data 明确的:

curl -d“ param1 = value1&param2 = value2” -H“内容类型:application / x-www-form-urlencoded” -X POST http://localhost:3000/data 带有数据文件

curl -d“ @ data.txt” -X POST http://localhost:3000/data POST应用程序/ json curl -d'{“ key1”:“ value1”,“ key2”:“ value2”}'-H“内容类型:application / json” -X POST http://localhost:3000/data 带有数据文件

curl -d“ @ data.json” -X POST http://localhost:3000/data