zoukankan      html  css  js  c++  java
  • 代理IP批量验证程序

    #include <afxinet.h>
    #include <afxwin.h>
    #include <iostream>
    #include <fstream>
    #include <string>
    #pragma comment(lib,"wininet.lib") 
    using namespace std;
    CString content;
    
    bool getData(LPCTSTR proxy)
    {
    	CString data;
    	DWORD dwStatusCode;
    	CInternetSession session("HttpClient");
    	CHttpFile *pfile = NULL;  
    	INTERNET_PROXY_INFO proxyinfo;
    	proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
    	proxyinfo.lpszProxy = proxy;
    	proxyinfo.lpszProxyBypass = NULL;
    	session.SetOption(INTERNET_OPTION_PROXY,(LPVOID)&proxyinfo,sizeof(INTERNET_PROXY_INFO));
    	session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 2000);			// 2秒的连接超时
    	session.SetOption(INTERNET_OPTION_SEND_TIMEOUT, 1000);				// 1秒的发送超时
    	session.SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, 7000);			// 7秒的接收超时
    	session.SetOption(INTERNET_OPTION_DATA_SEND_TIMEOUT, 1000);			// 1秒的发送超时
    	session.SetOption(INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, 7000);      // 7秒的接收超时
    	session.SetOption(INTERNET_OPTION_CONNECT_RETRIES, 1);				// 1次重试
    	try
    	{
    		pfile = (CHttpFile*)session.OpenURL("http://ip.dnsexit.com/", 1, INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD|INTERNET_FLAG_DONT_CACHE);
    	}
    	catch (CInternetException *e)
    	{
    		pfile = NULL;
    		e->Delete();
    		session.Close();
    		return false;
    	}
    	pfile->QueryInfoStatusCode(dwStatusCode);
    	if(dwStatusCode == HTTP_STATUS_OK)  
    	{   
    		while (pfile->ReadString(data))  
    		{  
    			content += data;  
    		}
    		pfile->Close();
    		session.Close();
    		return true;
    	}
    	else
    	{
    		return false;
    	}
    }
    
    int main()
    {
    	string line;
    	fstream fin("proxy.txt");
    	while (getline(fin, line))
    	{
    		content.Empty();
    		if (getData(line.c_str()))
    		{
    			cout << content << "is OK!" << endl;
    		}
    	}
    	fin.close();
    	return 0;
    }


    我们可以利用代理IP来刷访问量等等。


    Keep it simple!
    作者:N3verL4nd
    知识共享,欢迎转载。
  • 相关阅读:
    wget/curl查看请求响应头信息
    对软件测试的理解
    负载测试、压力测试和性能测试的区别
    经典测试面试题
    软件测试的目的和任务
    为cloudstack搭建ceph文件系统
    多网卡绑定实例
    牛客多校5 A-gpa(01分数规划)
    HDU
    2018ACM-ICPC宁夏邀请赛 A-Maximum Element In A Stack(栈内最大值)
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5834853.html
Copyright © 2011-2022 走看看