使用 PHP 发送 POST 请求
Send POST request with PHP
对于我想使用的翻译工具,我需要根据 POST 发送我的请求。
我从来没有做过这样的事情,文档对我来说意义不大(它不是 php 特定的文档,并且不确定如何在 php 中实现它)
文档中的示例是:
POST /v2/translate HTTP/1.0
Host: api.deepl.com
Accept: */*
User-Agent: YourApp
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
auth_key=MYKEY&text=this%20is%20a%20test&target_lang=de
在 Whosebug 的另一个 post 中,我发现这个解决方案在 php 中使用 POST,
所以我的主要问题是,我不确定一切都去哪里了
我假设 Host 进入 url 并且 header 是正确的。但这就是我有限技能所能达到的程度
$url = 'http://server.com/path';
$data = array('key1' => 'value1', 'key2' => 'value2');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
var_dump($result);
任何帮助将不胜感激
您可以在 PHP 中使用 curl 执行 POST 请求。
// initiate the curl request
$request = curl_init();
curl_setopt($request, CURLOPT_URL,"http://www.otherDomain.com/getdata");
curl_setopt($request, CURLOPT_POST, 1);
curl_setopt($request, CURLOPT_POSTFIELDS,
"var1=value1&var2=value2");
// catch the response
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($request);
curl_close ($request);
// do processing for the $response
对于我想使用的翻译工具,我需要根据 POST 发送我的请求。 我从来没有做过这样的事情,文档对我来说意义不大(它不是 php 特定的文档,并且不确定如何在 php 中实现它)
文档中的示例是:
POST /v2/translate HTTP/1.0
Host: api.deepl.com
Accept: */*
User-Agent: YourApp
Content-Type: application/x-www-form-urlencoded
Content-Length: 91
auth_key=MYKEY&text=this%20is%20a%20test&target_lang=de
在 Whosebug 的另一个 post 中,我发现这个解决方案在 php 中使用 POST, 所以我的主要问题是,我不确定一切都去哪里了 我假设 Host 进入 url 并且 header 是正确的。但这就是我有限技能所能达到的程度
$url = 'http://server.com/path';
$data = array('key1' => 'value1', 'key2' => 'value2');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
var_dump($result);
任何帮助将不胜感激
您可以在 PHP 中使用 curl 执行 POST 请求。
// initiate the curl request
$request = curl_init();
curl_setopt($request, CURLOPT_URL,"http://www.otherDomain.com/getdata");
curl_setopt($request, CURLOPT_POST, 1);
curl_setopt($request, CURLOPT_POSTFIELDS,
"var1=value1&var2=value2");
// catch the response
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($request);
curl_close ($request);
// do processing for the $response