Get Amazon Alexa information about a website.
Chilkat.Rest rest = new Chilkat.Rest();
bool success;
// Provide AWS credentials for the REST call.
Chilkat.AuthAws authAws = new Chilkat.AuthAws();
authAws.AccessKey = "AWS_ACCESS_KEY";
authAws.SecretKey = "AWS_SECRET_KEY";
authAws.ServiceName = "awis";
authAws.Region = "us-west-1";
rest.SetAuthAws(authAws);
success = rest.Connect("awis.us-west-1.amazonaws.com",443,true,true);
if (success != true) {
Debug.WriteLine(rest.LastErrorText);
return;
}
rest.AddQueryParam("Action","UrlInfo");
rest.AddQueryParam("ResponseGroup","Rank");
rest.AddQueryParam("Url","yahoo.com");
Chilkat.StringBuilder sbXml = new Chilkat.StringBuilder();
success = rest.FullRequestNoBodySb("GET","/api",sbXml);
if (success != true) {
Debug.WriteLine(rest.LastErrorText);
return;
}
if (rest.ResponseStatusCode != 200) {
Debug.WriteLine("Received error response code: " + Convert.ToString(rest.ResponseStatusCode));
Debug.WriteLine("Response body:");
Debug.WriteLine(sbXml.GetAsString());
return;
}
Chilkat.Xml xml = new Chilkat.Xml();
xml.LoadSb(sbXml,true);
// The following code parses the XML response.
// A sample XML response is shown below the sample code.
string aws_UrlInfoResponse_xmlns_aws;
string aws_Response_xmlns_aws;
string tagPath;
string aws_RequestId;
int i;
int count_i;
string aws_Name;
string aws_Value;
string aws_DataUrl_type;
string aws_DataUrl;
int aws_Rank;
string aws_ResponseStatus_xmlns_aws;
string aws_StatusCode;
aws_UrlInfoResponse_xmlns_aws = xml.GetAttrValue("xmlns:aws");
aws_Response_xmlns_aws = xml.ChilkatPath("aws:Response|(xmlns:aws)");
aws_RequestId = xml.GetChildContent("aws:Response|aws:OperationRequest|aws:RequestId");
i = 0;
count_i = xml.NumChildrenHavingTag("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:Request|aws:Arguments|aws:Argument");
while (i < count_i) {
xml.I = i;
aws_Name = xml.GetChildContent("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:Request|aws:Arguments|aws:Argument[i]|aws:Name");
aws_Value = xml.GetChildContent("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:Request|aws:Arguments|aws:Argument[i]|aws:Value");
i = i + 1;
}
aws_DataUrl_type = xml.ChilkatPath("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:TrafficData|aws:DataUrl|(type)");
aws_DataUrl = xml.GetChildContent("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:TrafficData|aws:DataUrl");
aws_Rank = xml.GetChildIntValue("aws:Response|aws:UrlInfoResult|aws:Alexa|aws:TrafficData|aws:Rank");
aws_ResponseStatus_xmlns_aws = xml.ChilkatPath("aws:Response|aws:ResponseStatus|(xmlns:aws)");
aws_StatusCode = xml.GetChildContent("aws:Response|aws:ResponseStatus|aws:StatusCode");
Debug.WriteLine("Example Completed.");
<?xml version="1.0" encoding="utf-8" ?>
<aws:UrlInfoResponse xmlns:aws="http://awis.amazonaws.com/doc/2005-10-05">
<aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">
<aws:OperationRequest>
<aws:RequestId>7688d02e-2247-11e8-9c21-d97222e4a948</aws:RequestId>
</aws:OperationRequest>
<aws:UrlInfoResult>
<aws:Alexa>
<aws:Request>
<aws:Arguments>
<aws:Argument>
<aws:Name>url</aws:Name>
<aws:Value>yahoo.com</aws:Value>
</aws:Argument>
<aws:Argument>
<aws:Name>responsegroup</aws:Name>
<aws:Value>Rank</aws:Value>
</aws:Argument>
</aws:Arguments>
</aws:Request>
<aws:TrafficData>
<aws:DataUrl type="canonical">yahoo.com/</aws:DataUrl>
<aws:Rank>7</aws:Rank>
</aws:TrafficData>
</aws:Alexa>
</aws:UrlInfoResult>
<aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
<aws:StatusCode>Success</aws:StatusCode>
</aws:ResponseStatus>
</aws:Response>
</aws:UrlInfoResponse>