2

对于我想使用的翻译工具,我需要每个 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

在关于stackoverflow的另一篇文章中,我发现了在php中使用POST的解决方案,所以我的主要问题是,我不确定一切都在哪里我假设主机进入url并且该标题是正确的。但这就是我有限的技能所能做到的

$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);

任何帮助将不胜感激

4

1 回答 1

1

您可以在 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
于 2021-10-11T22:47:11.230 回答