0

我想构建一个访问 USPS 的地址 Web 服务的 Web 服务请求。我在以他们想要的格式构建请求 URL 字符串时遇到问题。我想要做的是在变量中给出邮政编码,以便它可以是动态的。但是 USPS 网络服务不接受我发送的 URL 字符串,我猜我的格式有误。

USPS 期望的格式是:

<CityStateLookupRequest USERID=”xxxxxxxx”&gt;
<ZipCode ID="0">
<Zip5>90210</Zip5>
</ZipCode>
<ZipCode ID="1">
<Zip5>20770</Zip5>
</ZipCode>
</CityStateLookupRequest> 

https://servername/ShippingAPI.dll?API=CityStateLookup&XML=<CityStateLookupRe
quest USERID="username">.......</CityStateLookupRequest> 

这就是我尝试构建 URL 的方式:

WebRequest USPSReq = String.Format("http://production.shippingapis.com/ShippingAPI.dll?API=CityStateLookup&XML=CityStateLookupRequest&USERID=xxxxxxxx&ZipCode ID=0&Zip5=" + oZip);

如何构建此请求 URL?

4

1 回答 1

1

只需使用您最喜欢的 XML API 构建该 XML。例如:

XDocument requestXml = new XDocument(
    new XElement("CityStateLookupRequest",
        new XAttribute("USERID", userID),
        new XElement("ZipCode",
            new XAttribute("ID", "0"),
            new XElement("ZIP5", zip5)));
var requestUrl = new UriBuilder("http://production.shippingapis.com/ShippingAPITest.dll");
requestUrl.Query = "API=CityStateLookup&XML=" + requestXml.ToString();
var request = WebRequest.Create(requestUrl.Uri);
于 2013-07-20T01:34:01.430 回答