在本地代理的情况下出现code=-500001的问题解决方法

1 问题起因

一个项目需要用到线上数据,所以抓取qq音乐歌手数据。当然 肯定要写代理的。

代理代码如下

但是我在使用代理的情况下

给我返回 code : -500001 ts : 1542443107469

这说明 你能调用接口但是抓不到数据

2.错误分析

出现code : -500001 ts : 1542443107469 这种错误 一定是你的jsonp里面的字符串参数没配对错误

但是我所有的参数都是对着qq音乐那边搬过来的 应该不可能出现参数没配对成功的情况

以下是qq音乐的参数

在我反复的调试与qq音乐进行对比的时候 终于发现了问题所在

上面是qq音乐的网址 下面是我们本地代理的网址 可以发现 data之前的参数是一样的 而data里的参数和qq音乐的不一样 但是我们所有的json里面所有的参数都是对着qq音乐搬过来的 为什么会出现这种情况呢。

3.了解序列化对象

我在查了很久资料之后。 一次又一次的调试 终于解决了这个问题。首先我们要了解序列化对象

1.对象序列化是什么

:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

2.为什么要序列化

:当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。

说白了就是为了保证数据传输的安全性,以免发生意外时数据丢失。 序列化说白了就是将数据转成字节型数组然后传输。

3.序列化和反序列化

 把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化

4.解决方法

了解序列化对象之后 我们知道 此时我们要对我们的data进行序列化

刚刚json又有方法可以直接调用

序列化:JSON.stringify()

反序列化:JSON.parse()

所以我们把data对象序列化

代码如下

最后我们在console.log我们获取的数据 发现已经OK啦

原文地址:https://www.cnblogs.com/Irelia/p/9977534.html

时间: 2024-11-14 12:14:38

在本地代理的情况下出现code=-500001的问题解决方法的相关文章

新手炒股,什么是止损?什么情况下应该止损?股票止损方法

新手炒股,什么是止损?什么情况下应该止损?股票止损方法止损也叫"割肉".止损是指当某一投资出现的亏损达到预定数额时,及时斩仓出局,以避免形成更大的亏损.其目的就在于投资失误时把损失限定在较小的范围内.其目的就在于投资失误时把损失限定在较小的范围内.股票投资可通过止损把损失限制在一定的范围之内,同时又能够最大限度地获取成功的报酬,换言之,止损使得以较小代价博取较大收益成为可能.止损既是一种理念,也是一个计划,更是一项操作.止损理念是指投资者必须从战略高度认识止损在股市投资中的重要意义,因

关于在gridview中有dorpdownlist的情况下使用自带编辑模板的方法

今天记录一下在gridview中,如果有dropdownlist的情况下使用gridview自带编辑模式的方法. 好吧,今天的这个问题有点绕,详细解释一下目的. 因为gridview中的某些列的数据是从basedata里面带出来的,在编辑gridview的时候,user是想手动选择列值,而不是手动输入(输入不对的话,系统会报错),以上是背景. OK,想了想,在gridview中可以这样实现这个功能,用gridview自带的编辑模板,数据呈现用label绑定,数据编辑的时候用dropdownlis

IIS主机在某些情况下无法播放视频的设置方法

默认情况下,Windows Server的IIS主机是不支持FLV文件类型,通过http访问是无法播放视频. MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开. 设置MIME,让IIS支持更多文件类型. 在IIS中添加FLV的MIME类型: IIS里面的站点属性->http头->添加Mime类型 扩展名填写:.flv Mime类型填写:flv-application/octet-stream 重新启动该站点 其它

foxmail代理的情况下添加新账户

最近遇上了一个小问题,foxmail在使用代理上网的情况,不能添加新账户,很是麻烦. 开始在账户里面,我选择使用代理,但总是提示网络连接不上,实在让人奇怪. 后来: 将账户设置下的代理选择改为不使用代理,然后在工具系统里面,点网络,选择使用IE浏览器设置,即可. 这样就可以了.

git分支合并的,拉取远程分支,合并到本地等不同情况下git的操作命令

情况1: 本地有分支dev,远程没有dev分支,要将本地dev分支提交到远程的dev分支 首先切换到dev分支: git  checkout dev 检测是否有为提交内容:git status 将未提交内容添加到暂存区: git add .(或git add 具体文件名称)     将暂存区内容提交到 原文地址:https://www.cnblogs.com/fanlina/p/11002799.html

ASP.NET在不同情况下实现单点登陆(SSO)的方法

第一种:同主域但不同子域之间实现单点登陆 Form验证其实是基于身份cookie的验证.客户登陆后,生成一个包含用户身份信息(包含一个ticket)的cookie,这个cookie的名字就是在web.config里Authentication节form设定的name信息,如 <authentication mode="Forms"> <forms loginUrl="login.aspx" name=".ASPXAUTH" pa

在没有创建Provision Profile权限的情况下 发布Enterprise inhouse app 的方法

由于用普通开发者证书,发布的app或ipa没法在普通机器上安装运行,原因是apple限制了普通开发者发布appstore以外的环境中,只有Enterprise企业版证书才能发布inhouse. 今天在发布一款公司内部使用的app时,由于mac中同时安装了 普通开发者证书 和 企业证书,xcode可能默认使用了普通开发者账号,因此发布的ipa始终无法在普通机型中安装成功.几经周折,终于发现了这个问题,于是想办法找到了设置成使用企业版证书,但是这时候连编译都无法通过,错误提示如下: No match

43、Windows 7下安装Oracle 11g相关问题解决方法

很多DBA目前还停留在Oracle 9i或者10g,究其原因有可能是Oracle 11g的价格问题.本文将为大家讲解在Windows 7下安装Oracle 11g,也希望大家能从中看到11g的一些新特点. 前不久卸载掉了自己的Windows Vista系统,装上了Windows7 旗舰版,在装机过程中也遇到了很多问题,有些问题是自己不曾遇到过的,但自己尝试着去解决,一步一步尝试着去努力.自己的不懈努力,也换回了成果.比如在装SQL Server 2005和Oracle 11g时就碰到了问题,在装

win7 64 下安装MyGeneration 遇到的问题解决方法

win7 64 下安装MyGeneration  遇到的问题 ---------------------------MyGeneration 1.3 Setup---------------------------You cannot run MyGeneration without having MDAC 2.7+ installed. It is not included in the installer because the file is large and most people a