私はcurlでapiをリクエストしていますが、私は常に404応答しています。私がPhpStormによって同じリクエストを行うと、私の要求は正しく機能します。私はカールのようにレストクライアントに同じヘッダーを設定しました。私は間違っていますか?以下は私のPHPコードと残りのクライアント構成最初php curlではapiが動作しませんがPhpStorm Rest Clientで動作します。
$postfields = array(
'SUBSCRIPTION' => 'testlist',
"HTTP_REDIRECT" => 'https://testsite.com',
"HTTP_REDIRECT_ERROR" => 'https://testsite.com/error',
"email" => '[email protected]',
"Sprache" => 'DE'
);
$uri = $uri . '?=' . http_build_query($postfields); // value of uri is http://web.mailingsystem.com/subscription/servlet?=SUBSCRIPTION=testlist&HTTP_REDIRECT=https%3A%2F%2Ftestsite.com%2F&HTTP_REDIRECT_ERROR=https%3A%2F%2Ftestsite.com%2Ferror&email=test%2B100A%40gmail.com&Sprache=DE
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;from testshop;os:".PHP_OS.";)");
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
$headers = [
'Content-Length:'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$content = curl_exec($ch);
$error = curl_error($ch);
$response = curl_getinfo($ch);
curl_close($ch);
があなたの助けになるでしょう。あなたの説明に従って両方のものを変更しなければなりませんでしたが、今は正しく動作します。 – Rudolf