当前位置:  开发笔记 > 编程语言 > 正文

你如何进行地址验证?

如何解决《你如何进行地址验证?》经验,为你挑选了5个好方法。

甚至可以执行地址(物理,而不是电子邮件)验证?看起来大量的地址格式,即使仅在美国,也会使这个任务变得相当困难.另一方面,对于多个业务需求而言,这似乎是一项必要的任务.



1> Tim Farley..:

这是一种免费的"开箱即用"方式.不是100%完美,但它应该拒绝公然不存在的地址.

将整个地址提交给Google的地理编码网络服务.此服务会尝试返回您提供该位置的确切坐标,即纬度和经度.

根据我的经验,如果地址无效,您将从服务中获得602的结果.绝对存在误报或漏报的可能性,但与其他一致性检查结合使用可能会有用.

(另一方面,如果城镇存在,雅虎的地理编码网络服务将返回城镇中心的坐标,但地址的其余部分是虚假的.只要你密切注意"精确"字段,它就有用了.结果).


谷歌和雅虎的TOS禁止使用他们的地理编码服务,除非使用显示给用户的地图.找到更像Jonathan Oliver建议的东西.请参阅:http://code.google.com/apis/maps/terms.html
这真的不应该是选定的答案.它违反了Googles TOS,实际上并没有真正验证地址.谷歌使用大量智能来"猜测"你想要的地址,即使信息稍微偏离.谷歌也将返回一个地理编码,如果你说输入55 Main St并且google知道有一个50 Main st和一个60 main St.它将返回一个成功的地理编码平均距离,即使55 Main St实际上没有存在.您需要使用真正的验证服​​务,例如USPS,或Experian或SmartyStreets.
有没有人在实时系统上实际使用过这种方法?

2> Jonathan Oli..:

这里有很多好的答案,但大多数人都假设用户想要一个"API"解决方案,他们必须编写代码来连接第三方服务和/或屏幕刮取USPS.这一切都很好,但应该考虑到与实施相关的业务需求和成本,然后权衡所需的好处.

根据业务要求和数据接收到系统的方式,实时地址处理解决方案可能是最好的选择.如果需要实时解决方案,您需要考虑Google Maps/Bing/Yahoo API的许可协议和技术限制.它们通常会限制您每天可以拨打的电话数量.USPS Web工具API是相同的,它们限制了您使用系统的方式/原因,以及此后如何允许您使用这些数据.

与此同时,有一些优秀的服务提供商可以轻松处理静态地址列表.从本质上讲,您向服务提供商提供CSV文件或Excel文件,然后将其清理并将其恢复给您.这是一次性的交易,没有长期承诺或义务 - 通常.

完全披露:我是SmartyStreets的创始人.我们确实解决了美国境内地址的验证问题.我们可以轻松地通过CASS认证列表,我们还提供地址验证Web服务API.我们没有隐藏的费用,合同或任何东西.你使用我们的服务,直到你不再需要它,你可以走开.(与需要合同的手机公司不同.)


SmartyStreet的1,000次查询费用为30美元.保存了一下你.

3> Mark Bracket..:

USPS在网上有一个地址清洁工,有人将屏幕刮到了穷人的网络服务中.但是,如果您经常这样做,那么申请USPS帐户并调用他们自己的Web服务会更好.


为了避免任何人因为这样做而感到胃灼热并在三天后收到拒绝信,几乎没有人真正被允许使用USPS自己的地址验证器.这就是为什么这个家伙的屏幕首先刮掉了它.它严格限于非营利组织.
USPS将允许商业用途IFF您不会转售或清理您的数据库.我们有资格获得一个帐户,并使用它来验证/修复通过我们的网络表单进入的所有地址.
USPS不允许将此数据用于邮寄信件或包裹之外的任何其他内容.换句话说,您必须邮寄到您查找的地址.
如果您要验证地址以执行邮寄或发货,则只能使用USPS的API:https://secure.shippingapis.com/registration/ - 如果您不进行邮件发送或通过USPS发货,则找到没有许可限制的替代API.
或打算在某个时间点邮寄.我的公司最初被拒绝访问USPS API,但在澄清我们的预期用途(并声明我们不会使用API​​修复旧数据)之后,我们获得了批准.

4> BenAlabaster..:

我将向您推荐我的博客文章 - 地址存储课程,我将介绍一些在地址验证过程中使用的技术和算法.我的关键思想是"不要因地址存储而懒惰,以后会让你感到头疼!"

此外,还有另一个StackOverflow问题,询问这个问题.名称国际地理地址应如何存储在关系数据库中.



5> Frank..:

在我曾经工作过的德国公司开发内部地址验证服务的过程中,我遇到了很多方法来解决这个问题.我会尽力总结下面的调查结果:

免费的开源软件

显然,任何人都会采用的第一种方法是开源方法(如openstreetmap.org),这绝不是一个坏主意.但是,你是否能真正把它用于良好和可靠的使用,在很大程度上取决于你需要依靠多少结果.

地址是一个令人难以置信的变化.验证美国地址并非易事,但可以忍受,但一旦您前往欧洲,特别是英国拥有广泛的邮政编码系统,开源方法将缺乏数据.

Web服务/ API

企业级软件

显然,钱可以完成它.但并非每个企业或开发人员都可以为每个地址查找花费大约0.15美元(对于1,000个API请求来说是150美元) - 这是绝大多数地址验证API已经实现的非常昂贵的商业模式.

我最终整合了什么:streetlayer API

由于我不愿意采用手动验证地址数据的程序化方法,我终于得出结论,我需要一个带有价格标签的API,这不会让我的老板想要解雇我并仍然提供可靠和可靠的国际验证结果.

长话短说,我最终整合了由apilayer构建的API,称为"streetlayer API".通过简单的JSON集成,令人惊讶的准确验证结果和开发人员友好的定价,我很容易相信.此外,每月100个请求是完全免费的.

希望这可以帮助!

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有