问题描述
使用下面的脚本,我可以打印一个搜索词的响应。如何从每个换行符的文本文件中读取搜索词,并将所有响应打印到一个文件中?
<?php
date_default_timezone_set('America/New_York');
define('AWS_ACCESS_KEY_ID','***');
define('AWS_SECRET_ACCESS_KEY','***');
define('APPLICATION_NAME','test');
define('APPLICATION_VERSION','1.0');
define ('MERCHANT_ID','***');
define ('MARKETPLACE_ID','***');
function amazon_xml($searchTerm)
{
$params = array(
'AWSAccessKeyId' => AWS_ACCESS_KEY_ID,'Action' => "ListMatchingProducts",'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,'Query' => $searchTerm,'QueryContextId' => "Automotive"
);
$url_parts = array();
foreach (array_keys($params) as $key)
$url_parts[] = $key . "=" . str_replace('%7E','~',rawurlencode($params[$key]));
sort($url_parts);
$url_string = implode("&",$url_parts);
$string_to_sign = "GET\nmws.amazonservices.com\n/Products/2011-10-01\n" . $url_string;
$signature = hash_hmac("sha256",$string_to_sign,AWS_SECRET_ACCESS_KEY,TRUE);
$signature = urlencode(base64_encode($signature));
$url = "https://mws.amazonservices.com/Products/2011-10-01" . '?' . $url_string . "&Signature=" . $signature;
$ch = curl_init();
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,0);
$response = curl_exec($ch);
$xml = simplexml_load_string($response);
return $xml->asXML();
}
$searchTerm = "iPhone X";
echo amazon_xml($searchTerm);
File.text
iPhone X
iPhone 11
iPhone XR
iPhone 8
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)