关于中石化充值接口的调用。中石化充值接口在自己代码中调用,为什么会返回一个页面,但是在中石化网站是调用,返回的是一个json字符串?这是什么情况
接口列表如下:
第一个
string postString = "cardNo="+ cardNo + "&phoneNo=" + phone;//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
string url = "http://www.sinopecsales.com/gas/html/netRechargeAction_getSmsYzm.json";//地址
string url = "http://www.sinopecsales.com/gas/html/netRechargeAction_getSmsYzm.json";//地址
第二个
string url = "http://www.sinopecsales.com/gas/YanZhengMaServlet";//地址
第三个
string postString = @"rechargeCardNo="+ cardNo + "&" +
"phoneNo=" + phone + "&" +
"rechargeCzkCardPwd="+ prechargeCzkCardPwd + "&" +
"addCyCardNoTiXing=false&";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
postString = postString + "smsYzm=" + smsYzm + "&yzm=" + yzm;
//this.textBox4.Text = postString;
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
string url = "http://www.sinopecsales.com/gas/html/netRechargeAction_czkCharge.json";//地址
请求的时候缺少什么东西???一般这种东西会要求请求头里面有什么东西吧?
和其他的header也没上面区别啊
@老杨ABC: 他们的接口有什么说明没有?
@顾晓北: 没得,我通过chrome找到他们每一步的调用的接口的,然后我偷偷的要去在自己的代码里去请求,完成功能的,不是光明正大的做接口对接。
@老杨ABC: 我觉得你还是具体看看请求头有什么不同吧,我记得原来看一个网站也是,有时候访问返回json有时候就是页面。
一般对外提供的接口都是 jsonp跨域的方式,你可以通过加上 ?callback=func 来试试 ,看看返回的页面最前面有木有加上 func
如果有,就可以, 如果没有,需要在服务端新建一个服务,然后使用这个服务将页面下载下来,前台使用ajax来请求数据.
刚才添加了你说的东东,还是不行。谢谢你哈。
@老杨ABC: 你的问题解决了吗?能分享下吗?
@doufu: 没搞定,后来换成欧飞的接口了。