7

PHPでcURLを介してデータバイナリパラメータを送信する必要があります。
コマンドは次のとおりcurl -D - -u user:password -X PUT -H "Content-Type: text/plain" --data-binary "data-id=2010-10-01_15-15-53" https://someurlです。コンソールではこれが機能しますが、今度は php で実行する必要があります。

これは私が持っているコードです:

    $this->_curl = curl_init();
    curl_setopt($this->_curl, CURLOPT_USERPWD, $this->_loginUser . ":" . $this->_loginPassword);
    curl_setopt($this->_curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($this->_curl, CURLOPT_HEADER, 1);
    curl_setopt($this->_curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($this->_curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($this->_curl, CURLOPT_URL, $this->_serviceUrl);//https://someurl
    curl_setopt($this->_curl, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
    curl_setopt($this->_curl, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_setopt($this->_curl, CURLOPT_POSTFIELDS, array('data-id' => $dataId));//d'2010-10-01_15-15-53'

    $response = curl_exec($this->_curl);
    //$response = HTTP/1.1 201 Created
    curl_close($this->_curl);

呼び出しはサーバーによって受け入れられますが、 data-idパラメーターが認識されません。

トリガー 2010-10-01_15-15-53 に data-id プロパティが定義されていません

私が見逃しているものはありますか?

4

2 に答える 2