京东联盟开发(6)——推广链接解析SKUID

1、从推广方案中分析出价格及推广码

$keyword = "
【京东】长虹(CHANGHONG) L3 老人手机 移动/联通2G 老年机 双卡双待 咖啡

原价:168.00元
券后价:163.00元

购买链接:https://union-click.jd.com/jdc?d=s7inaP
---------------------------
【领券下单,更便宜】关注 东购 公众号,获取更多优惠!
";

$express_before = "/原价:(\d+.\d+)\s*元/i";
            $express_after = "/券后价:(\d+.\d+) 元/i";
            $express_url = "/jdc\?d=([a-zA-Z0-9]+)/i";
preg_match($express_before, $keyword, $matches_before);
preg_match($express_after, $keyword, $matches_after);
preg_match($express_url, $keyword, $matches_url);
            

var_dump($matches_before);    
var_dump($matches_after);   
var_dump($matches_url);   

2、302跳转取新的地址,并分析出skuid

$url= "https://union-click.jd.com/jdc?d=".$matches_url[1];
$skuid = url2skuid($url);
var_dump($skuid);
 

// 推广短链接转skuid,并检查是否有券的产品  https://union-click.jd.com/jdc?d=A3Cp11
function url2skuid($url)
{
    $result1 = http_request($url, false);
    $express1 = "/hrl='(.+?)'/i";
    preg_match($express1, $result1, $matches1);
    if (!isset($matches1[1])){
        return array('errcode'=> 1, 'msg'=>"获取跳转1失败");
    }        
    $jumpurl1 = $matches1[1];
    // var_dump($jumpurl1);
    $result2 = http_request($jumpurl1, true);
    // var_dump($result2);
    if (!isset($result2["redirect_url"])){
        return array('errcode'=> 2, 'msg'=>"获取跳转2失败");
    }
    $jumpurl2 = $result2["redirect_url"];
    // var_dump($jumpurl2);
    $express2 = "/\.jd\.com\/[a-z\.\/\?\=]{0,}(\d+)(\.html|\&)/i";
    // $express2 = "/jingfen\.jd\.com\/item\.html?sku=(\d+)&/i";
    preg_match($express2, $jumpurl2, $matches2);
    // var_dump($matches2);
    if (!isset($matches2[1])){ 
        return array('errcode'=> 3, 'msg'=>"获取skuid失败");
    }else{
        if (!stristr($jumpurl2,"jingfen")){
            return array('errcode'=> 4, 'msg'=>$matches2[1]." 无券");
        }else{
            return array('errcode'=> 0, 'msg'=>$matches2[1]);
        }
    }
}

    
function http_request($url, $info = False)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $output = curl_exec($ch);
    if ($info){
        $info = curl_getinfo($ch);
        // $retURL = $info['url'];
        curl_close($ch);
        return $info;
    }else{
        curl_close($ch);
        return $output;
    }
}

 

转载于:https://www.cnblogs.com/txw1958/p/jd_url2skuid.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Visio Skuid错误可能代表在使用Visio Skuid时遇到了一些问题。Visio Skuid是一种用于创建可视化业务应用程序的工具,它与Salesforce平台集成,提供了用户友好的界面和功能。 当出现Visio Skuid错误时,可能是以下原因之一: 1. 配置错误:错误的设置可能导致Visio Skuid无法正常工作。确保正确配置Skuid组件和数据源,并检查是否有任何错误或遗漏。 2. 数据源问题:Visio Skuid可能无法访问或正确连接到所需的数据源。确保数据源是有效的,并详细检查Visio Skuid与数据源之间的连接设置。 3. 版本不兼容:Visio Skuid可能与当前安装的软件版本不兼容。检查Visio Skuid的要求,并确保使用正确版本的软件和插件。 4. 脚本冲突:可能存在其他脚本或插件与Visio Skuid发生冲突,导致错误。尝试禁用其他脚本或插件,然后重新加载Visio Skuid,看看是否解决了问题。 解决Visio Skuid错误的步骤可能包括以下操作: 1. 检查错误信息:仔细阅读错误消息,了解出现问题的具体原因。 2. 检查设置和配置:仔细检查并验证Visio Skuid的设置和配置是否正确。确保所有必需的组件和数据源都被正确连接和配置。 3. 检查数据源:确保所需的数据源是有效的,并重新检查与Visio Skuid之间的连接设置。 4. 更新软件版本:如果Visio Skuid的问题是由版本不兼容引起的,尝试升级或降级软件版本,以满足Visio Skuid的要求。 5. 排除脚本冲突:如果存在脚本或插件冲突,尝试禁用其他脚本或插件,并重新加载Visio Skuid,以查看是否解决了问题。 6. 寻求支持:如果以上步骤无法解决问题,可以考虑寻求官方支持或搜索相关论坛和社区,寻求其他用户的帮助和建议。 总之,要解决Visio Skuid错误,需要仔细排查问题的原因,并采取适当的措施来修复或绕过问题,以确保Visio Skuid能够正常工作。 ### 回答2: Visio Skuid是一种数据可视化工具,用于创建和编辑流程图、组织结构图和其他类型的图表。然而,有时在使用Visio Skuid时可能会遇到一些错误。 一种常见的Visio Skuid错误是加载错误。当我们尝试打开或编辑一个Visio文件时,可能会遇到加载错误。这可能是由于文件损坏、文件过大或计算机资源不足等原因引起的。解决这个问题的方法是尝试重新加载文件,检查文件格式是否正确,并确保计算机有足够的资源来处理文件。 另一个可能的Visio Skuid错误是图标或图形显示不正确。有时,我们在创建或编辑图表时可能会遇到图标显示错误的问题。这通常是由于图标文件损坏或缺失引起的。为了解决这个问题,我们可以尝试重新插入或替换图标文件,并确保文件路径是正确的。 另外,Visio Skuid还可能会遇到与导入或导出文件格式相关的错误。有时我们可能无法成功导入或导出特定文件格式的图表。在这种情况下,我们需要检查Visio版本是否兼容所需的文件格式,并尝试使用其他文件格式或工具来解决此问题。 总的来说,Visio Skuid错误可能是由多种原因引起的,如文件加载问题、图标显示错误或文件格式兼容性问题。解决这些错误需要仔细检查和排除可能的原因,并采取相应的措施来修复或绕过问题。 ### 回答3: Visio是微软推出的一款流程图绘制软件,而Skuid是一种用于创建和管理用户界面的平台。如果在使用Visio时遇到Skuid错误的情况,可能是以下几个原因导致的。 首先,可能是Visio安装或更新的问题。如果使用的是旧版本的Visio或Skuid插件,可能存在不兼容或冲突的情况。这种情况下,建议升级Visio和Skuid插件,或者尝试使用其他可靠的流程图绘制软件。 其次,可能是Skuid插件配置或设置的问题。在使用Visio时,Skuid插件可能需要进行一些特定的设置或配置,如果设置不正确,就会导致出现错误。建议仔细查看Skuid插件的官方文档或寻求Skuid支持团队的帮助来解决问题。 另外,还有可能是操作问题。Visio作为一款复杂的绘图软件,需要一定的操作技巧和实践经验。如果没有正确使用Visio的功能,就有可能导致出现Skuid错误。在使用Visio时,建议阅读相关的使用指南或教程,并积极实践,以提高操作水平。 总之,如果在使用Visio时遇到Skuid错误,应该先确认Visio和Skuid插件的版本和配置是否正确,然后查看是否存在操作问题。如果以上方法都无法解决问题,建议寻求技术支持或考虑更换其他适合的软件来完成流程图绘制的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值