首页 新闻 会员 周边

中石化充值接口在自己调用,为什么会返回一个页面,但是在中石化网站是调用,返回的是一个json字符串?

0
悬赏园豆:50 [已关闭问题] 关闭于 2016-08-29 10:40

关于中石化充值接口的调用。中石化充值接口在自己代码中调用,为什么会返回一个页面,但是在中石化网站是调用,返回的是一个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";//地址

小杨ABC的主页 小杨ABC | 初学一级 | 园豆:79
提问于:2016-08-25 18:24
< >
分享
所有回答(2)
0

请求的时候缺少什么东西???一般这种东西会要求请求头里面有什么东西吧?

顾晓北 | 园豆:10844 (专家六级) | 2016-08-25 18:38
  1. Accept:
    application/json, text/javascript, */*; q=0.01
  2. Accept-Encoding:
    gzip, deflate
  3. Accept-Language:
    zh-CN,zh;q=0.8,ja;q=0.6,zh-TW;q=0.4,en;q=0.2
  4. Connection:
    keep-alive
  5. Content-Length:
    180
  6. Content-Type:
    application/x-www-form-urlencoded; charset=UTF-8
  7. Cookie:
    HttpOnly=true; JSESSIONID=E12CCAA97DF997668FD7D927BECC2C70; HttpOnly=true; province=33; Hm_lvt_3a7bd54a4d8be76079e496de5147b070=1472040197,1472125330; Hm_lpvt_3a7bd54a4d8be76079e496de5147b070=1472125330
  8. Host:
    www.sinopecsales.com
  9. Origin:
    http://www.sinopecsales.com
  10. Referer:
    http://www.sinopecsales.com/gas/html/billQueryAction_goChangeCard.action
  11. User-Agent:
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
  12. X-Requested-With:
    XMLHttpRequest

和其他的header也没上面区别啊

支持(0) 反对(0) 小杨ABC | 园豆:79 (初学一级) | 2016-08-25 19:44

@老杨ABC: 他们的接口有什么说明没有?

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-08-25 20:04

@顾晓北: 没得,我通过chrome找到他们每一步的调用的接口的,然后我偷偷的要去在自己的代码里去请求,完成功能的,不是光明正大的做接口对接。

支持(0) 反对(0) 小杨ABC | 园豆:79 (初学一级) | 2016-08-26 09:14

@老杨ABC: 我觉得你还是具体看看请求头有什么不同吧,我记得原来看一个网站也是,有时候访问返回json有时候就是页面。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-08-26 09:31
0

 一般对外提供的接口都是 jsonp跨域的方式,你可以通过加上 ?callback=func 来试试 ,看看返回的页面最前面有木有加上 func

如果有,就可以, 如果没有,需要在服务端新建一个服务,然后使用这个服务将页面下载下来,前台使用ajax来请求数据.

小精灵儿Pawn | 园豆:470 (菜鸟二级) | 2016-08-25 19:13

刚才添加了你说的东东,还是不行。谢谢你哈。

支持(0) 反对(0) 小杨ABC | 园豆:79 (初学一级) | 2016-08-25 19:51

@老杨ABC: 你的问题解决了吗?能分享下吗?

支持(0) 反对(0) doufu | 园豆:200 (初学一级) | 2016-09-04 15:01

@doufu: 没搞定,后来换成欧飞的接口了。 

支持(0) 反对(0) 小杨ABC | 园豆:79 (初学一级) | 2016-10-08 13:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册