如何使用USPS验证给定地址?

Var*_*d.M 13 c#

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

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

Mar*_*erl 14

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

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

注意

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

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


Oza*_*ray 10

从这里开始

///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);
Run Code Online (Sandbox Code Playgroud)

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

  • 重要提示:由于某些愚蠢的原因,您需要将实际地址作为Address2.如果您尝试将Address1设置为"6406 Ivy Lane",它将失败.地址1显然是公寓或套房号码:https://www.usps.com/webtools/_pdf/Address-Information-v3-1b.pdf (4认同)

Mat*_*att 5

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

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

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

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

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

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

  • Matt SmartyStreets&LiveAddress由同一家公司运营......相同的网站布局和定价模式,两者都不是免费的.对我来说,看起来你的帖子更多的是关于推广你的公司然后协助代码. (9认同)