我試圖複製亞馬遜的UI工具進行的訪問他們的市場網絡服務(MWS API)以下HTTP請求模擬HTTP請求與暴食或捲曲
這是使用他們的UI工具時提出的要求。請注意,HTTP請求信息來自Google Chrome的開發者控制檯。
一般
請求URL:https://mws.amazonservices.com/Products/2011-10-01
請求方法:POST
狀態代碼:200 OK
遠程地址:54.239.24.6:443
引薦政策:降級時無引薦者
請求頭
POST /產品/ 2011-10-01 HTTP/1.1
主持人:mws.amazonservices.com
連接:保持活躍
的Content-Length :309
原產地:https://mws.amazonservices.com
x-amazon-user-agent:AmazonJavascriptScratchpad/1.0(Language = Javascript)
User-Agent:Mozilla/5.0(Windows NT 10.0; Win64平臺; x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/58.0.3029.81 Safari/537.36
內容類型:application/x-www-form-urlencoded;字符集= UTF-8
接受:文本/無格式,/
X-請求-隨着:XMLHttpRequest的
的Referer:https://mws.amazonservices.com/scratchpad/index.html
接受編碼:gzip,放氣,BR
Accept-Language:en-US,en; q = 0.8
Cookie:csm-hit = 20。82 | 1494090798243
表單數據
AWSAccessKeyId:{{API KEY}}
操作:GetMatchingProductForId
SellerId:{{API KEY}}
SignatureVersion:2
時間戳:2017-05-06T17:43:36Z
版本:2011-10-01
簽名:wVax9gw0DfIfeL7s4Z2IZynwwryi0c6tIkfE7IQY1RI =
是SignatureMethod:HmacSHA256
MarketplaceId:ATVPDKIKX0DER
IdType:UPC
IdList.Id.1:034264456730
這是我的PHP腳本使用Guz zleHTTP庫來嘗試和模擬請求。
<?php
require './vendor/autoload.php';
use GuzzleHttp\Client;
$body = 'AWSAccessKeyId=AKIAJFTQQL6UN7RO6WBQ&Action=GetMatchingProductForId&SellerId=AWWNSYIT4NM3&SignatureVersion=2&Timestamp=2017-05-06T17%3A43%3A36Z&Version=2011-10-01&Signature=wVax9gw0DfIfeL7s4Z2IZynwwryi0c6tIkfE7IQY1RI%3D&SignatureMethod=HmacSHA256&MarketplaceId=ATVPDKIKX0DER&IdType=UPC&IdList.Id.1=034264456730';
$jar = new \GuzzleHttp\Cookie\CookieJar();
$client = new Client([
'base_uri'=>'https://mws.amazonservices.com',
'cookies'=>$jar,
'headers'=>[
'User-Agent'=>'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36',
'Host'=> 'mws.amazonservices.com',
'Connection'=>'keep-alive',
'Content-Length'=>'309',
'Origin'=>'https://mws.amazonservices.com',
'x-amazon-user-agent'=>'AmazonJavascriptScratchpad/1.0 (Language=Javascript)',
'Content-Type'=>'application/x-www-form-urlencoded; charset=UTF-8',
'Accept'=>'text/plain, */*',
'X-Requested-With'=>'XMLHttpRequest',
'Referer'=>'https://mws.amazonservices.com/scratchpad/index.html',
'Accept-Encoding'=>'gzip, deflate, br',
'Accept-Language'=>'en-US,en;q=0.8',
],
'body'=>$body,
]);
$response = $client->request('POST', 'https://mws.amazonservices.com/Products/2011-10-01');
echo $response->getStatusCode();
?>
你得到了什麼錯誤? –
Agam,我收到了400個錯誤的請求 – mattchambers