如何使用USPSvalidation给定地址?

我想validationUSPS的给定地址(地址,城市,州,邮政编码),如果提供的地址是有效地址,则返回结果。 如果不是有效地址则返回无效地址。

那我怎么能在C#.Net中做到这一点。

从这里开始

///Create a new instance of the USPS Manager class ///The constructor takes 2 arguments, the first is ///your USPS Web Tools User ID and the second is ///true if you want to use the USPS Test Servers. USPSManager m = new USPSManager("YOUR_USER_ID", true); Address a = new Address(); a.Address2 = "6406 Ivy Lane"; a.City = "Greenbelt"; a.State = "MD"; ///By calling ValidateAddress on the USPSManager object, ///you get an Address object that has been validated by the ///USPS servers Address validatedAddress = m.ValidateAddress(a); 

注意 :由于某种原因,您需要将实际地址作为Address2。 如果您尝试将Address1设置为“6406 Ivy Lane”,它将失败。 地址1显然是公寓或套房号码。 礼貌Simon Weaver的评论如下

美国邮政服务(USPS)确实通过其地址信息API提供此服务:

  • USPS:电子商务API

这是Code Project文章/库如何在.NET中使用这些服务:

  • 美国邮政服务(USPS)Web工具包装

注意

  • 在使用此库之前,您需要填写此表单以获取USPS Web Tools ID。

  • 要请求地址信息API(validation等),您需要其他权限。 同时填写此表单以申请这些权限。

如果我可以在这里讨论 – 我曾经在SmartyStreets的地址validation行业工作,SmartyStreets是这些服务的CASS认证供应商。

首先请注意,虽然USPS是地址数据的权威,但他们的强项不是维护API并提供支持。 另外,请务必记下您签署的协议:

  • 用户同意仅使用USPS网站,API和USPS数据来促进USPS运输交易。

因此,除非您通过使用API​​邮寄或运送USPS,否则根本不同意使用API​​。 如果我是你,那么你遇到的其他问题就是寻找更好的解决方案的理由。

无论如何,实际上有很多。 我会让你做自己的研究,但我当然会建议我曾经做过一个名为LiveAddress的工作。 它是免费的,返回的数据更多,并且比USPS的API更可靠。

更新: 这是GitHub上的一些C#代码示例 ,可能会有用。