运营商接口 爬虫 蜜罐 支持ID

结果显示:



using Newtonsoft.Json;

using Newtonsoft.Json.Linq;

using Spire.Pdf;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.IO;

using System.IO.Compression;

using System.Linq;

using System.Net;

using System.Net.Http;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace FireFox

{

    public partial class Form1 : Form

    {

private void Form1_Load(object sender, EventArgs e)

        {

            if (phone != "" && app != "" && serviceP != "")

            {

                InitWebBrowser();

                if (company == "移动")

                {

                    YD_InitTypeAndMonth();

                    timer1 = new System.Windows.Forms.Timer();

                    timer1.Tick += YD_SetFristLoginAccountAndServierCode;

                    timer1.Interval = 100;

                    timer1.Enabled = true;

                }

                else if (company == "电信")

                {

                    timer1 = new System.Windows.Forms.Timer();

                    timer1.Tick += RedirectIframe;

                    timer1.Interval = 100;

                    timer1.Enabled = true;

                    getHttpRequestData = true;

                }                

                else if (company == "联通")

                {

                    timer1 = new System.Windows.Forms.Timer();

                    timer1.Tick += GetUNFrames;

                    timer1.Interval = 100;

                    timer1.Enabled = true; 

                    getHttpRequestData = true;

                }

            }

            else

            {

                this.Close();

            }

        }


//初始化浏览器

private void InitWebBrowser()

        {

            string url = "";

            HttpWebRequest webReq2 = (System.Net.HttpWebRequest)WebRequest.Create("http://apis.juhe.cn/mobile/get?phone=" + phone + "&dtype=&key=d49239e19d88a5de980e4cd00ea3978e");

            HttpWebResponse response2 = (HttpWebResponse)webReq2.GetResponse();

            StreamReader sr2 = new StreamReader(response2.GetResponseStream(), Encoding.UTF8);

            string ret2 = sr2.ReadToEnd();

            JToken jo2 = (JToken)JsonConvert.DeserializeObject(ret2);

            try

            {

                company = jo2["result"]["company"].ToString();

                region = jo2["result"]["province"].ToString();

            }

            catch { }

            switch (company)

            {

                case "移动":

                    url = "https://login.10086.cn/";

                    break;

                case "电信":

                    url = "https://www.189.cn";

                    break;

                case "联通":

                    url = "http://www.10010.com";

                    break;

                default:

                    break;

            }

            switch (region)

            {

                case "广西": region = "广西壮族自治区"; break;

                case "内蒙古": region = "内蒙古自治区"; break;

                case "宁夏": region = "宁夏回族自治区"; break;

                case "重庆": region = "重庆直辖市"; break;

                case "北京": region = "北京直辖市"; break;

                case "上海": region = "上海直辖市"; break;

                default: region = region + "省"; break;

            }

            HttpWebRequest webReq = (System.Net.HttpWebRequest)WebRequest.Create("http://121.199.42.16/VAD/GetIp.aspx?act=get&num=1&time=180&plat=0&re=1&type=2&so=1&ow=2&prov=" + region);

            string ipAddress = GetInternetIp();

            HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();

            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

            string ret = sr.ReadToEnd();

            JToken jo = (JToken)JsonConvert.DeserializeObject(ret);

            //try

            //{

            #region 独立cookie的代码

            string cookiesName = DateTime.Now.ToString("yyyyMMddHHmmss") + phone + app;

            string cookiePath = FilePath + "/papaBug/Cookies/" + cookiesName;

            if (!System.IO.Directory.Exists(cookiePath))

                System.IO.Directory.CreateDirectory(cookiePath);//检测目录是否存在

            Gecko.Xpcom.ProfileDirectory = cookiePath;//绑定cookie目录

            conn.NotReadDB("update ydTB set cookie = '" + cookiePath + "' where phone = '" + phone + "' and app = '" + app + "'");

            #endregion

            Xpcom.Initialize("Firefox");

            geckoBrowser = new GeckoWebBrowser() { Dock = DockStyle.Fill }; //创建浏览器实例

            this.geckoBrowser.Name = "browser";

            geckoBrowser.CreateControl();

            panel1.Controls.Add(geckoBrowser);//把浏览器加入到选择夹控件内

            GeckoPreferences.User["gfx.font_rendering.graphite.enabled"] = true;//设置偏好:字体

            GeckoPreferences.User["privacy.donottrackheader.enabled"] = true;//设置浏览器不被追踪

            GeckoPreferences.User["general.useragent.override"] = "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0";

            GeckoPreferences.User["intl.accept_languages"] = "zh-CN,zh;q=0.9,en;q=0.8";//不设置的话默认是英文区

            #region 设置ip代理

            //var ip = jo["data"][0]["IP"].ToString();

            //var port = jo["data"][0]["Port"].ToString();

            //GeckoPreferences.User["network.proxy.http"] = ip;

            //GeckoPreferences.User["network.proxy.http_port"] = int.Parse(port);

            //GeckoPreferences.User["network.proxy.type"] = 1;

            #endregion

            geckoBrowser.Navigate(YYSWEB);

            geckoBrowser.UseHttpActivityObserver = true;

            geckoBrowser.ObserveHttpModifyRequest += Browser_ObserveHttpModifyRequest;

            MyObserver MyObs = new MyObserver();

            MyObs.TicketLoadedEvent += MyObs_TicketLoadedEvent;//如何处理捕捉到的response

            MyObs.targetUrls = new List<string>() { "detailbillinfojsonp/" + tel, "https://gd.189.cn/service/myhome/" };//添加要拦截的url关键词

            ObserverService.AddObserver(MyObs);//添加观察器

            //}

            //catch { }

        }

//模拟浏览器发起请求

void GetHttpRequestData(Gecko.Net.HttpChannel p_HttpChannel)

        {

            string path = Path.Combine(Environment.CurrentDirectory, "TempText", DateTime.Now.ToString("yyyyMMddHHmmss") + phone + app + ".txt");

            string oldurl = p_HttpChannel.OriginalUri.ToString();

            string[] forcut = oldurl.Split('?');

            string url = forcut[0];

            string[] query = forcut[1].Split('&');

            string tempUrl = "?callback=" + query[0].Split('=')[1] + "&curCuror=" + query[1].Split('=')[1] + "&step=" + query[2].Split('=')[1] + "&";

            AddDataToDictionary(HttpDataDic, "Path", path);

            AddDataToDictionary(HttpDataDic, "Url", url + tempUrl);

            AddDataToDictionary(HttpDataDic, "Host", p_HttpChannel.GetRequestHeader("Host"));

            AddDataToDictionary(HttpDataDic, "Accept", p_HttpChannel.GetRequestHeader("Accept"));

            AddDataToDictionary(HttpDataDic, "Accept-Language", p_HttpChannel.GetRequestHeader("Accept-Language"));

            AddDataToDictionary(HttpDataDic, "Accept-Encoding", p_HttpChannel.GetRequestHeader("Accept-Encoding"));

            AddDataToDictionary(HttpDataDic, "Content-Type", p_HttpChannel.GetRequestHeader("Content-Type"));

            AddDataToDictionary(HttpDataDic, "X-Requested-With", p_HttpChannel.GetRequestHeader("X-Requested-With"));

            AddDataToDictionary(HttpDataDic, "Connection", p_HttpChannel.GetRequestHeader("Connection"));

            AddDataToDictionary(HttpDataDic, "Referer", p_HttpChannel.GetRequestHeader("Referer"));

            AddDataToDictionary(HttpDataDic, "Cookie", p_HttpChannel.GetRequestHeader("Cookie"));

            timer1.Enabled = false;

            timer1 = new System.Windows.Forms.Timer();

            timer1.Interval = 500;

            timer1.Tick += InsertData_Timer;

            timer1.Enabled = true;

        }       

    }

}

string contact = "";

contact+="联系";

contact+= "tel&Wechat"  + Convert.toInt32(" 18011819910 ").ToString();

textBox1.text = contact;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容