using System;
using System.Net;
static class Program {
public static void Main()
{
WebClient wc = new WebClient();
var proxies = wc.DownloadString(@"http://proxy-ip-list.com/download/free-proxy-list.txt");
Console.WriteLine("http://" + proxies.Split(';')[5]);
Console.ReadLine();
}
}
我非常困惑......
我试过打印机Char-by-Char。 我尝试在写入之前将字符串分配给变量。 我已经尝试了一切,发生了什么事?
Console.WriteLine("http://" + "182.255.46.123:8080");
有效......
答案 0 :(得分:3)
这是因为返回的字符串在开头包含一个回车符:
proxies.Split(';')[5] = " \r182.255.46.123:8080"
您可以将其删除:
Console.WriteLine("http://" + proxies.Split(';')[5].Replace("\r", "").Trim());
答案 1 :(得分:0)
根据您的评论更新了答案。您只需要Trim()从开始和结束中删除所有空格。
using System;
using System.Net;
static class Program
{
public static void Main()
{
WebClient wc = new WebClient();
var proxies = wc.DownloadString(@"http://proxy-ip-list.com/download/free-proxy-list.txt");
Console.WriteLine("http://" + proxies.Split(';')[5].Trim());
Console.ReadLine();
}
}
答案 2 :(得分:0)
试试这个:
using System;
using System.Text.RegularExpressions;
using System.Net;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
WebClient wc = new WebClient();
var proxies = wc.DownloadString(@"http://proxy-ip-list.com/download/free-proxy-list.txt");
var regex = new Regex(@"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5}");
var match = regex.Matches(proxies);
Console.WriteLine("http://" + match[3].Value);
Console.ReadLine();
}
}
}
如果请求结果的内容发生变化,则保存最多。