C++純socketシミュレーションログイン37.com【過検証コード】

1000 ワード

post部分は比較的容易で、ネット上でも多く、一般的にはsocket発注を使用するには処理が必要な場合が多く、具体的な詳細はRLibのソースコードで見つけることができ、ここでは貼らない.検証コードの設計は比較的に簡単で、いくつかのコードは解決することができて、99%の識別(たまにネットワークが失敗します)

extern "C" __declspec(dllexport) int WINAPI QueryVerifyCode(IN OUT LPTSTR collcc)
{
	HttpResponse *pResponse = nullptr;
	auto pImageStream = Net::WebClient::GetResponseStream(String(T("http://my.37.com/code.php?COLLCC=")) + collcc,
		nullptr, &pResponse);
	if (pImageStream != nullptr)
	{
		if (pResponse == nullptr)
		{
			delete pImageStream;
			return -1;
		}

		XYCode verify_code(pImageStream);

		pResponse->Close();//delete pImageStream;

		//                 
		verify_code.VTrim(3, 4);
		//                 
		verify_code.HTrim(6, 6);
		//  
		verify_code.ChangePixel(0, 0, 255, 0, 0, 255, 0, 0, 255);

		if (verify_code.RecognizeImage())
		{
			String rt = verify_code.UTF8Text.Trim().Replace(T(" "), T(""));

			debug_warning(rt);//    

			return 1;
		}
	}

	return 0;
}