コード例 #1
0
ファイル: JsonConverter.cs プロジェクト: apakian/fluorinefx
		public virtual void WriteJson(JsonWriter writer, object value)
		{
			JsonSerializer serializer = new JsonSerializer();

			serializer.Serialize(writer, value);
		}
コード例 #2
0
ファイル: User.cs プロジェクト: GoodManGoodGhost/DoWan
 /// <summary>
 /// 获取参数
 /// </summary>
 bool GetParams()
 {
     //if (isProxy)
     //{
     //    byte[] data = new byte[1024];
     //    //IPAddress ip = IPAddress.Parse(proxy);
     //    //IPEndPoint ipEnd = new IPEndPoint(ip, proxyPort);
     //    ///重连X次
     //    for (int i = 0; i < 1; i++)
     //    {
     //        try
     //        {
     //            //socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     //            socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 5000);
     //            //Common.NowMsg = "代理" + proxy + ":" + proxyPort + "【获取参数】连接中,";
     //            //socket.Connect(ipEnd);
     //            StringBuilder buf = new StringBuilder();
     //            buf.Append("GET ").Append("http://yy.com//get-data/9999?subSid=125233252&type=main&_=137493045" + new Random().Next(1, 9) + "9" + new Random().Next(1, 9)).Append(" HTTP/1.1\r\n");
     //            buf.Append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n");
     //            buf.Append("Host: yy.com\r\n");
     //            buf.Append("Proxy-Connection: Keep-Alive\r\n");
     //            buf.Append("\r\n");
     //            byte[] ms = System.Text.UTF8Encoding.UTF8.GetBytes(buf.ToString());
     //            //发送
     //            socket.Send(ms);
     //            string jsonStr = string.Empty;
     //            int recv = 0;
     //            do
     //            {
     //                recv = socket.Receive(data);
     //                if (recv > 0)
     //                    jsonStr += (Encoding.Default.GetString(data, 0, recv));
     //                //判断参数结尾
     //                if (jsonStr.IndexOf("core.bmp\"}") != -1)
     //                    break;
     //            } while (recv != 0);
     //            socket.Close();
     //            if (jsonStr.IndexOf("200 OK") == -1)//未取到参数
     //            {
     //                Common.ProxyManager.Score(proxy, ScoreType.Discard);
     //                if (Common.LogSwitch)
     //                    lastMsg = "代理服务器未返回有效参数";
     //                continue;
     //            }
     //            jsonStr = jsonStr.Substring(jsonStr.IndexOf("{\""));
     //            StringReader sread = new StringReader(jsonStr);
     //            JsonReader jr = new JsonReader(sread);
     //            JsonSerializer js = new JsonSerializer();
     //            NetParams np = (NetParams)js.Deserialize(jr, typeof(NetParams));
     //            netParams = np;
     //            server = netParams.pps[0].ip;
     //            port = netParams.pps[0].ports[0];
     //            lastMsg = "获取参数完成";
     //            break;
     //        }
     //        catch (SocketException se)
     //        {
     //            if (se.ErrorCode == 10060)
     //                if (Common.LogSwitch)
     //                    lastMsg = "代理服务器无回应";
     //                else if (se.ErrorCode == 10061)
     //                    if (Common.LogSwitch)
     //                        lastMsg = "代理服务器拒绝连接";
     //                    else
     //                        lastMsg = "";
     //        }
     //        catch (Exception e)
     //        {
     //            //异常
     //            Common.ProxyManager.Score(proxy, ScoreType.Exception);
     //            if (Common.LogSwitch)
     //                lastMsg = "参数数据异常。";
     //            return false;
     //        }
     //    }
     //}
     //else
     {
         try
         {
             lastMsg = "获取参数...";
             HttpWebResponse response = HttpWebResponseUtility.CreateGetHttpResponse(tagUrl, null, null, null);
             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
             string jsonStr = sr.ReadToEnd();
             StringReader sread = new StringReader(jsonStr);
             JsonReader jr = new JsonReader(sread);
             JsonSerializer js = new JsonSerializer();
             NetParams np = (NetParams)js.Deserialize(jr, typeof(NetParams));
             netParams = np;
             //设置缺省服务器及端口
             server = netParams.pps[0].ip;
             port = netParams.pps[0].ports[0];
             lastMsg = "获取参数完成";
         }
         catch (Exception e)
         {
             if (Common.LogSwitch)
                 lastMsg = "获取参数失败,可能是网速太差。";
             return false;
         }
     }
     return true;
 }