首 页IT知识库翔宇问吧收藏内容
当前位置:算搜IT乐园IT知识库WEB网站设计

完美解决百度分享 “414 Request-URI Too Large”的问题

减小字体增大字体作者:本站  来源:本站原创  发布时间:2020-06-27 12:14:43

很多网站为了提高访问量,把好的东西让更多的用户可以看到,而提供了网页分享功能。百度分享是不错的一个插件,其2.0版本支持用户自定义分享的URL,标题、摘要和图片等内容,用户使用百度分享可以较为方便的分享到国内主流社交平台。

但是,在自定义相关配置后,当用户将内容分享到微博平台时,会发生“414 Request-URI Too Large”的问题。如下图所示:

百度分享-414 Request-URI Too Large

在网上查找了很多内容,都没有很好的解决这一问题。

一、问题描述

自定义百度分享的配置后,用户将内容分享到微博平台时,发生“414 Request-URI Too Large”。

一般在把内容分享到微博平台时,用户往往把百度分享配置中的“bdText”修改为下面的形式:

var title = document.title;  #网页标题
var desc = $("meta[name=description]").attr('content');  #网页内容描述或摘要
if(title.length + desc.length > 120)  //标题和描述总长度过长时,进行截取
    desc = desc.substring(0,120-title.length) + "...";
....
//百度配置
"bdText": '【' + title +'】'+ desc + '其它内容.',
....

"bdText"中去掉desc中的内容,分享就正常,但只包括标题和网址信息,即使你配置了"bdDesc"参数也是如此,加上desc中的内容,且超过一定长度时就会出错,即使你的desc很短也不行。

二、产生原因

经多次验证发现,一旦配置“bdText”的长度超过某个值时,分享地址中就会附加一大堆内容,除了正常的url参数、title参数、searchpic参数,appkey参数等之外,分享的网址中还会把来源网址加进去,来源网址中包括了百度分享插件的网址,且又重复了上面各个参数的内容,设置是通用配置"common"中其它参数的内容,在进行url编码后,造成请求的URI过长。

当然,附加到后面的这些参数是百度分享添加进去的还是新浪微博平台自动加进去的,这个暂时没有验证。

三、解决方案

分析网上的解决方案,基本上是把desc中的内容设置的特别短,但实际上你会发现,分享微博中的内容除了标题也无法提供更多的信息,甚至,你自己还可以输入百十个字也不会有任何问题。

网上还有一种方案是把百度分享的所有文件下载到自己的服务器上进行改造,但这不可取,失去了使用百度分享应有的意义。

本站给出的解决方案如下

使用百度分享中提供的onBeforeClick()事件处理函数来处理这个问题,即当用户点击的是微博分享时,重新配置相关参数,使它符合自己的需要,详细配置代码如下:

vartitle = document.title,
desc = $("meta[name=description]").attr("content"),
pic = $('meta[property="og:image"]').attr("content");
/*描述简介的处理*/
if(desc.length + title.length > 100){
    desc = desc.substring(0,100 - title.length);
}
/*分享设置*/
window._bd_share_config={
   "common":{
        "bdSnsKey":{},
        "bdText" : "【"+title+"】"+desc+"-分享自 @算搜IT乐园,详情:",
        "bdDesc" : desc,
        "bdComment" : '好友分享给你一篇来自算搜IT乐园的好文章。',
        "bdPic" : pic,
        "bdMini" : "2",
        "bdSign" : 'off',
        "bdMiniList" : false,
        "bdStyle" : "1",
        "bdSize" : "32",
        onBeforeClick:function(cmd,config){
              if(cmd=='tsina'){
                    config.bdText = '【'+title+'】'+desc+'-分享自 @算搜IT乐园,详情:';
                    config.bdDesc = '';
                    config.bdComment = '';
                    return config;
                }
          }
    },"share":{}
};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(
createElement('script')).src=
'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='
+~(-new Date()/36e5)];

上面设置的核心思想就是,在分享到新浪微博平台时,把bdDesc、bdComment等这些与微博平台无关的设置修改为空字符串,避免分享时,地址栏中重复出现这些内容,同时把回流统计关掉:bdSign设置为off,因为现在在百度分享看不到回流统计了,关掉后,百度分享不再在地址中附加分享的统计标识。

设置完成后,经在多个网页测试通过,而且提供的描述内容更加完整,更加人性化。

百度分享分享到微博平台时发生414 Request-URI too large

上图中的分享图片虽然无法正常显示,但是分享后,图片还是有的,产生这个问题的原因是,微博分享把以"http://"开始的图片地址替换成了“https://”开头的地址,实际上不影响使用。

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 2 条,得分 120 分,平均 60 分) 查看完整评论
[回复] 2111111   打分:20 分  发表时间:2021-09-19
· OMG啊
[回复] 12015212【】【】   打分:100 分  发表时间:2021-05-04
· 414 Request-URI Too Large
openresty
愿您的精彩评论引起共鸣,带来思考和价值。
用户名:查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2021 suansuo.cn. All Rights Reserved.
资本市场线与证券市场线的公式,证券市场线和资本市场线傻傻分不清,有没有大佬能通俗的讲讲?_厕尊股票网k线图原理,谁来聊聊 K 线技术分析?如何看日k线中的3条线,K线看盘技巧,中大阳线在盘中的分析意义,看清多空转折!5日均线怎么看,K线图上怎么看5日均线证券投资学k线图怎么画,有人可以进行股票k线技术面分析吗,可以讲出形态的那种 急?洗盘与出货分时图解,一只股票里面有基金,外资,私募,那么是谁在洗盘和出货呢?分时成交量详解,拉高出货的分时特征?看懂分时图成交量大单,不要被主力甩开,了解盘末“成交量”的迹象,抓住主力洗碗的终点分时图红蓝线是什么意思,如何快速看懂分时图!印花税按件贴花有哪些税目,印花税贴花就是交过税了吗?印花税征税范围及税率,印花税怎么交?印花税的会计核算,合伙企业印花税常见误区——从一则答疑说起摊销印花税的会计分录,报销的会计分录怎么写?期货分时图成交量的秘密,股票期货交易中,如何利用成交明细表观察主力意图?如何查看分时成交量,如何用好level2行情信息?怎么区分出货和洗盘,一个真正在中国股市发大财的人:如何区分洗碗和出货,拒绝被割韭菜!盘后分时交易是什么意思,同花顺手机版分时下单和交易下单的区别是什么,是否会增加交易手续费?生产加工产品利润怎么算,2022-2028年中国植物油加工业市场专项调研及投资前景分析报告营收增长率怎么算,如何看待华为 2020 年上半年营收 4540 亿元,经营业绩同比增长 13.1%?股票涨停价计算器工商,怎么全面的分析一支股票?新股连续涨停后什么时候卖,股票连续跌停了卖不出去怎么办?散户:早点知道就好了!跌停板附近徘徊不封板,7.2复盘(此前妖股日跌!)当天涨停,第二天怎么买,一位“打板”操盘手直言:如果股票“巨量涨停”,第二天却低开,主力是什么目的?终于看透主力套路涨停第二天小阴线,属于「知乎官方指南」的问答有哪些?标准曲线斜率和截距,标准曲线的斜率怎么求?斜率取值范围怎么判断,【圆锥曲线】点差法结合几何方法解决斜率为定值问题金山谷和银山谷均线图,一旦遇到“金谷”股票形态,你会毫不犹豫的买入,股价肯定会飞起来!现金流量分析报告,现金流量表中,同一年内各个季度的投资活动现金流量流入金额,下一季度能否比上一季度的季度的流入金额少?什么是趋势线有效突破,股市中:三条均线定乾坤,一条生命线,一条决策线,一条趋势线上海二手房交易 上海二手房交易流程有哪些?