欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

海淘的一键自动下单是怎么做到的?

程序员文章站 2022-06-12 17:03:14
...
hi,all

因为公司业务的问题,看了一下国内几家做海淘的公司,都有一键下单的功能。具体场景是这样的,用户在国内海淘的网站下单,系统能够自动帮用户在海外下单。

我想到的几个解决方法:

1、代码模拟post表单提交。但是感觉里面水很深,比如https、提交表单需要的各种奇葩参数安全校验、对方网站的动态规则修改等等。

2、同事提议说,可以做类似按键精灵那种。

3、... ...

有木有做这块业务的童鞋可以分享下思路的?

回复内容:

hi,all

因为公司业务的问题,看了一下国内几家做海淘的公司,都有一键下单的功能。具体场景是这样的,用户在国内海淘的网站下单,系统能够自动帮用户在海外下单。

我想到的几个解决方法:

1、代码模拟post表单提交。但是感觉里面水很深,比如https、提交表单需要的各种奇葩参数安全校验、对方网站的动态规则修改等等。

2、同事提议说,可以做类似按键精灵那种。

3、... ...

有木有做这块业务的童鞋可以分享下思路的?

你应该注意到目前支持一键海淘的基本都是只支持部分商品(美亚上很多种类的商品都不支持),部分网站比如6pm、美亚等。
所以我猜想应该是按照某种规则、重量、税率人工维护的列表,所以你应该见过很多小商品比如部分品牌的u盘不支持一键,应该是没被收录(或者其他问题)。
至于下单,绝对不应该是模拟http client,变数太大,更别说各种验证码、认证了,先不说有没有技术能破掉验证码,还记得几年前各种抢票插件破解12306验证码的事吗,那属于破坏行为,在中国都不讨好更别说老外那了。
所以我觉得应该是有授权,开放接口给他们了-_-!,就比如惠惠首页上一直是“支持6PM,美亚”,其他两家的logo还是灰色,可能还在洽谈当中。

没有做这块业务,建议几个方案:

  1. Headless browser;
  2. 实际上所谓「各种奇葩参数安全校验」,实际上并没有多奇葩。很多参数是为了广告系统和数据分析,多试试;
  3. 很多像我一样的Developer都忘记了,雇佣你们人类很便宜也很稳定。

大规模的时候,用人应该是不可能的。就是模拟http提交最靠谱,只要花时间沉下去去做,还是比较容易的

1.首先,每个商品在不同网站的商品ID或者URL应该是在数据库中有保存的
2.其次,每个网站对应的应该有规则去维护。比如如下代码

php$site = 'amazon';
$item_id = '123';

$factory = OrderProcesser::Factory($site);
$factory->submit($item_id);

模拟提交会被美国亚马逊封帐号。
真实用户下单下的太多也会被美国亚马逊封号的。
所以都是人工注册多个帐号下单!
6pm vitacost 是可以使用程序自动下单,而美亚封的很紧。我实在想不通,给它增加订单为什么它还不乐意。
欢迎访问我司网站:http://www.hai360.com/