PHP curl--电信手机号码话费余额

手机号码充值地址:http://wapgd.189.cn/TS/weixin/new/cz.htm?cmpid=weixin-gdkf-server-cz&winzoom=1&wxapp=true&openId=orLiJju2pHCirkyUHDMz_4jhVkGc&from=groupmessage

 

一、网站分析

1)、用浏览器打开网站,F12打开  开发者调试工具,切换到Network

2)、输入手机号码,点击査欠费,观察请求,查看响应结果

查看

通过以上分析,获得话费的余额查询接口地址和所需的参数,下面开始用PHP完成接口信息的获取

二、PHP Curl请求接口

<?php

//1、设置查询的手机号码
$phone="173xxxxxxx";

$result=[];
//2、模拟查询5次
for ($i=0; $i < 5; $i++) { 
	$url_page ="http://wapgd.189.cn/getBalanceJson.do?latn_id=020&busiType=CDMA&chargeNum=".$phone."&Order_url=WTouch&chargeType=5BA";
	$user_agentArray = array(
		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
	);
	$proxyArray = array(
		"http://110.52.235.130:9999" //代理ip和端口,测试时可去以下网站获取代理ip,http://ip.zdaye.com/dayProxy.html
	);
	$proxy = empty($proxyArray) ? "" : $proxyArray[rand(0, count($proxyArray) - 1)];
	$user_agent = $user_agentArray[rand(0, count($user_agentArray) - 1)];
	$rs=curl_string($url_page,$user_agent, $proxy,$proxyport);
	$result[$i]=$rs;
}
//3、格式化打印结果
echo "<pre>";
var_dump($result);



//生成随机IP
function Rand_IP(){
    $ip2id= round(rand(600000, 2550000) / 10000); //第一种方法,直接生成
    $ip3id= round(rand(600000, 2550000) / 10000);
    $ip4id= round(rand(600000, 2550000) / 10000);
    //下面是第二种方法,在以下数据中随机抽取
    $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211");
    $randarr= mt_rand(0,count($arr_1)-1);
    $ip1id = $arr_1[$randarr];
    return $ip1id.".".$ip2id.".".$ip3id.".".$ip4id;
}
//curl函数
function curl_string ($url,$user_agent,$proxy,$proxyport){
	$ch = curl_init();
	// 有代理IP就使用代理
	if (!empty($proxy)) 
	{ 
		curl_setopt ($ch, CURLOPT_PROXY, $proxy); // 使用代理IP
		// 伪造客户端来源IP
		$xforip = rand(1, 254).".".rand(1, 254).".".rand(1, 254).".".rand(1, 254);
		curl_setopt ($ch, CURLOPT_HTTPHEADER, array('CLIENT-IP:'.$xforip, 'X-FORWARDED-FOR:'.$xforip));
	}
	curl_setopt ($ch, CURLOPT_URL, $url);
	curl_setopt ($ch, CURLOPT_POSTFIELDS, 'article_id=10898');
	curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent); //模拟用户使用的浏览器
	curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
	curl_setopt ($ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer
	curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
	$result = curl_exec ($ch);
	curl_close($ch);
	return $result;
}

测试结果如下:

注:此案例仅学习使用,请勿做任何违法行为!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值