Php Google Analytics请求正确验证,但从CURL发送时返回错误

Php Google Analytics请求正确验证,但从CURL发送时返回错误,php,curl,google-analytics,Php,Curl,Google Analytics,我向Google Analytics发送以下请求: 赛车&cd2=&cd6={device}&cd7=&cd8=0&cd9=&cd10=&cd11=&cd12=Nitrotek DSA&cd13=g&cd14=50&cd15=1&cd16=85&cd17=120447624674420322&cd18=&cd19= 当您转到并验证该请求时,结果是有效的 然而,当我通过curlpost发送相同的请求时,我只得到“400。这是一个错误。您的客户端发出了一个格式错误或非法的请求。这就是我们所知道的。”

我向Google Analytics发送以下请求:

赛车&cd2=&cd6={device}&cd7=&cd8=0&cd9=&cd10=&cd11=&cd12=Nitrotek DSA&cd13=g&cd14=50&cd15=1&cd16=85&cd17=120447624674420322&cd18=&cd19=

当您转到并验证该请求时,结果是有效的

然而,当我通过curlpost发送相同的请求时,我只得到“400。这是一个错误。您的客户端发出了一个格式错误或非法的请求。这就是我们所知道的。”

POST是这个请求的正确方法(尽管我尝试了GET以防万一),Content Length标头是发送数据的长度(字符串)。代码如下:

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $transaction_url,    //the same URL string given above
    CURLOPT_POST => 1,
    CURLOPT_USERAGENT => 'cURL Request'
));
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Length: '.strlen($transaction_url)    //length of URL string
));
$trans_resp = curl_exec($curl);
var_dump($trans_resp);
curl_close($curl);

你确定你不需要https吗?@jeroen尝试过,同样的结果。在你的url中用+替换空格,例如Acme Racing to Acme+Racing等等。当我这样做时,页面一直在加载,最后由于524超时错误而失败。你能尝试正确地对你的参数进行url编码吗?你确定不需要使用
https
吗?@jeroen尝试过,结果相同。将url中的空格替换为+,例如Acme Racing to Acme+Racing等等当我这样做时,页面只是一直在加载,最后由于524超时错误而失败。您能尝试正确地对参数进行URL编码吗?