POST /Orders/2011-01-01?AWSAccessKeyId=MyAccessKey
&Action=ListOrders
&SellerId=SellerId
&SignatureVersion=2
&Timestamp=2012-12-12T08%3A31%3A19Z
&Version=2011-01-01
&Signature=MySignature
&SignatureMethod=HmacSHA256
&CreatedAfter=2012-12-06T19%3A00%3A00Z
&MarketplaceId.Id.1=MyMarketID HTTP/1.1
Host: mws.amazonservices.co.uk
x-amazon-user-agent: AmazonJavascriptScratchpad/1.0 (Language=Javascript)
Content-Type: text/xml
我试过将这些亚马逊便笺簿的请求细节转换为PHP curl,但都是徒劳的。任何人都知道如何转换这些。
下面的代码只截取了一部分,没有显示任何内容
$params = array(
'AWSAccessKeyId' => AWS_ACCESS_KEY_ID,
'Action' => "ListOrders",
'SellerId' => MERCHANT_ID,
'SignatureMethod' => "HmacSHA256",
'SignatureVersion' => "2",
'Timestamp'=> gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()),
'Version'=> "2011-10-01",
'MarketplaceId' => MARKETPLACE_ID,
);
// Sort the URL parameters
$url_parts = array();
foreach(array_keys($params) as $key)
$url_parts[] = $key . "=" . str_replace('%7E', '~', rawurlencode($params[$key]));
sort($url_parts);
// Construct the string to sign
$url_string = implode("&", $url_parts);
$string_to_sign = "POST\nmws.amazonservices.co.uk\n/Orders/2011-10-01\n" . $url_string;
// Sign the request
$signature = hash_hmac("sha256", $string_to_sign, AWS_SECRET_ACCESS_KEY, TRUE);
//Base64 encode the signature and make it URL safe
$signature = urlencode(base64_encode($signature));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$response = curl_exec($ch);
var_dump($response);
curl 获取信息
[content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => 0 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array ( ) [primary_ip] => [primary_port] => 0 [local_ip] => [local_port] => 0 [redirect_url] => )
网址
https://mws.amazonservices.co.uk/Orders/2011-01-01?AWSAccessKeyId=myaccesskey&Action=ListOrders&CreatedAfter=2012-12-06T19%253A00%253A00Z&MarketplaceId.Id.1=marketplaceiddumy&SellerId=selleriddummy&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-12-12T13%3A16%3A56.000Z&Version=2011-10-01&Signature=lXaoVq1n4b0gAmoMg69jnSCqHWC6C6hlbEfTtrHX2i0%3D
1条答案
按热度按时间ubbxdtey1#
我有改变时间戳和其他一些变量,它的作品。