2017-07-22 4 views
0

私はカールコードを表し、このコードを持っている:PHPのCURLコードを表しますか?

curl -X PUT https://example.com/wp-json/wc/v2/products/794 \ 
    -u consumer_key:consumer_secret \ 
    -H "Content-Type: application/json" \ 
    -d '{ 
    "regular_price": "24.54" 
}' 

私はこのために、私は次のコードを試し、PHPを使用して、この同じCURLコードを表現する必要があります。

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://example.com/wp-json/wc/v2/products/794'); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-Type: application/json'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
$data = curl_exec($ch); 
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch); 

-Hされますヘッダーになるはずですが、-u-dとはどのようなものですか?

答えて

2

-uは、Authorizationヘッダー

$encodedAuth = base64_encode("consumer_key:consumer_secret"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization : Basic ".$encodedAuth)); 

またはこの

curl_setopt($ch, CURLOPT_USERPWD, "consumer_key:consumer_secret"); 

-dを使用するためであるあなたもPUTのカスタム要求メソッドを設定する必要があり、データやリクエストボディ

curl_setopt($ch, CURLOPT_POSTFIELDS, '{"regular_price":"24.54"}'); 

のためであります

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
関連する問題