1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| using System.Net.Http.Json; using System.Text.Json.Serialization; using Bogus;
var users = new Faker<User>("zh_CN"); int a = 10000; var generator = users .RuleFor(t => t.Gender, f => f.PickRandom<Gender>()) .RuleFor(t => t.Name, (f,u) => f.Person.FullName) .RuleFor(u=>u.Birth, f=> f.Person.DateOfBirth) .RuleFor(t=>t.Phone,f=>$"139888{a++}") .RuleFor(t=>t.Ethnicity, f=>"汉族") .RuleFor(t=>t.IdCard, (f, u)=>genIdCard(u)) .RuleFor(t=>t.Address, f=>f.Person.Address.ToString()) .RuleFor(t=>t.Position, "打安全打的") ;
Console.WriteLine("请输入你的目标:"); var url = Console.ReadLine(); var result = generator.Generate(2000); var httpClient = new HttpClient(); int cnt = 0; foreach (var user in result) { var res = await httpClient.PostAsJsonAsync($"http://{url}/submit", user); var bak = await res.Content.ReadAsStringAsync(); Console.WriteLine(cnt++); if (bak.IndexOf("uccessf", StringComparison.Ordinal) == -1) { } } Console.ReadKey();
string genIdCard(User u) { var idNumber = $"510100{u.Birth.Year:0000}{u.Birth.Month:00}{u.Birth.Day:00}{Random.Shared.Next(10,99)}{(u.Gender == Gender.Male ? 1 : 2)}0"; long n = 0; if (long.TryParse(idNumber.Remove(17), out n) == false || n < Math.Pow(10, 16) || long.TryParse(idNumber.Replace('x', '0').Replace('X', '0'), out n) == false) { return "false"; } string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; if (address.IndexOf(idNumber.Remove(2)) == -1) { return "false"; } string birth = idNumber.Substring(6, 8).Insert(6, "-").Insert(4, "-"); DateTime time = new DateTime(); if (DateTime.TryParse(birth, out time) == false) { return "false"; } string[] arrVarifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(','); string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(','); char[] Ai = idNumber.Remove(17).ToCharArray(); int sum = 0; for (int i = 0; i < 17; i++) { sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString()); } int y = -1; Math.DivRem(sum, 11, out y); idNumber = idNumber.Remove(17,1); idNumber += arrVarifyCode[y]; return idNumber; }
public enum Gender { Male, Female }
class User { public string Name { get; set; } public Gender Gender { get; set; }
[JsonPropertyName("sex")] public string Sex => Gender == Gender.Male ? "男" : "女"; public DateTime Birth {get; set; } [JsonPropertyName("phonenumber")]public string Phone { get; set; } public string Ethnicity { get; set; } [JsonPropertyName("idcard")]public string IdCard { get; set; } public string Address { get; set; } public string Position { get; set; }
[JsonPropertyName("age")] public string Age => (DateTime.Now.Year - Birth.Year).ToString();
[JsonPropertyName("experience")] public string Exp { get; set; } = Random.Shared.Next(2, 5).ToString(); }
|